- Forum-Beiträge: 29
16.05.2017, 12:06:09 via Website
16.05.2017 12:06:09 via Website
Hallihallo,
in meiner App wirft eine DrawableAnimation diesen OutofMemorie Error auf:
05-16 11:49:24.169 2501-2501/slartbart.example E/AndroidRuntime: FATAL EXCEPTION: main
Process: slartbart.example, PID: 2501
java.lang.OutOfMemoryError: Failed to allocate a 4387392 byte allocation with 4063064 free bytes and 3MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:620)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:455)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1155)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:720)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
at android.content.res.Resources.loadDrawable(Resources.java:858)
at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
at android.graphics.drawable.AnimationDrawable.inflateChildElements(AnimationDrawable.java:327)
at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:297)
at android.graphics.drawable.DrawableInflater.inflateFromXml(DrawableInflater.java:130)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1227)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1200)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:715)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
at android.content.res.Resources.getDrawable(Resources.java:771)
at android.content.Context.getDrawable(Context.java:525)
at android.view.View.setBackgroundResource(View.java:18228)
at android.support.v7.widget.AppCompatImageView.setBackgroundResource(AppCompatImageView.java:86)
at slartbart.example.GameActivity.gameOver(GameActivity.java:483)
at slartbart.example.GameActivity.onCreate(GameActivity.java:81)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Das hier ist die dazugehörige Methode:
public void gameOver(){
gameImages.setBackgroundResource(R.drawable.animation_game_over_list);
gambleAnimation = (AnimationDrawable) gameImages.getBackground();
gambleAnimation.start();
}
Getestet habe ich das ganze auf meinem Nexus6 und in dem Emulator...
Gibt es eine Möglichkeit meiner App mehr Speicherplatz zuzuweisen, oder andere Möglichkeiten das Problem zu lösen ?
Mit freundlichen grüßen,
Ford.
— geändert am 16.05.2017, 12:07:49
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.