Ich bin neu in Android Studio und ich entwickle mein erstes Projekt.Heap will die Größe nicht ändern (java.lang.OutOfMemoryError) android studio
Mein Problem ist, dass jedes Mal, wenn ich versuche, apk auf dem Handy ausführen, bekomme ich eine java.lang.OutOfMemoryError. Ich habe verschiedene Möglichkeiten ausprobiert, um das zu beheben, aber nichts davon scheint zu funktionieren.
Hier ist meine Konsolenprotokoll Fehlerbericht:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.prvaaplikacija.gametutorial, PID: 32565
java.lang.OutOfMemoryError: Failed to allocate a 17013900 byte allocation with 13104128 free bytes and 12MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:613)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:446)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080)
at android.content.res.Resources.createFromResourceStream(Resources.java:2952)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2684)
at android.content.res.Resources.loadDrawable(Resources.java:2580)
at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:387)
at android.content.res.TypedArray.getDrawable(TypedArray.java:872)
at android.graphics.drawable.AnimationDrawable.inflateChildElements(AnimationDrawable.java:324)
at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:294)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1217)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1126)
at android.content.res.Resources.createFromXml(Resources.java:2964)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2676)
at android.content.res.Resources.loadDrawable(Resources.java:2580)
at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:387)
at android.content.res.Resources.getDrawable(Resources.java:824)
at android.content.Context.getDrawable(Context.java:467)
at android.view.View.setBackgroundResource(View.java:17225)
at android.support.v7.widget.AppCompatImageView.setBackgroundResource(AppCompatImageView.java:86)
at com.example.prvaaplikacija.gametutorial.main.onCreate(main.java:125)
at android.app.Activity.performCreate(Activity.java:6303)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483)
at android.app.ActivityThread.access$900(ActivityThread.java:153)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5441)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
ich eine gradle.properties Datei in C: \ Benutzer \ user.gradle und es sieht wie folgt aus:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
Mein lokaler gradle.properties Datei sieht wie folgt aus:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Aber wenn ich über sie mit der Maus hoover es gibt mir mir eine Notiz von unused property.
Ich habe diesen Code zu meiner build.gradle-Datei hinzugefügt und einige Variationen von Optionen mit ihm versucht, aber es funktioniert immer noch nicht.
dexOptions {
preDexLibraries = false;
incremental true
javaMaxHeapSize "4g"
}
Und:
multiDexEnabled true
ich versucht habe, meine gradle Cache zu löschen, indem Sie manuell zu löschen und alle meine Aktionen haben jede Änderung nicht.
Ich würde es wirklich schätzen, wenn jemand mir mit meinem Problem helfen könnte. Ich stecke seit ein paar Tagen darauf und ich denke, dass ich alleine nichts mehr tun kann, um das zu lösen.
Es scheint, dass Sie in Ihrem onCreate() zu wenig Speicher haben. Können Sie den relevanten Code teilen? (main.java - onCreate()) –