So erhöhen Sie den android virtual device max-heap-Größe?
Möchte ich erhöhen Sie den android virtual device anzeigen-heap-Größe mit Eclipse. Ich habe versucht, legen Sie die Max-VM application-heap-Größe 128 in der Eclipse AVD-Manager, aber es funktioniert nicht, die Linie Runtime.getRuntime().maxMemory()/(1024*1024);
gibt immer 48, egal, das set heap-Größe. Geräte-ram-Größe auf 512. Ausgewählte target ist Android 4.1.2 (API Level 16). Außerdem habe ich android:largeHeap="true"
in der manifest-Datei.
Gibt es eine Begrenzung für die max-heap-Größe (ist 128MiB zu viel ?), oder gibt es eine andere Datei zu Bearbeiten oder parameter zu setzen ?
- Lesen Sie die Antwort auf diese Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
große Haufen in der Manifest-Datei
Zu tun, dass in Eclipse, gehen Sie auf "Debug Configurations". Sie können feststellen, dass in der drop-down unter "debug" - Symbol. Wählen Sie "Ziel", und wählen Sie einen bevorzugten emulator Ziel zu starten. Klicken Sie dann unter "additional emulator command line options" Folgendes hinzufügen:
-partition-Größe 128
SCHLIEßEN Sie dann den emulator (und entfernen Sie alle Geräte), und klicken Sie auf das debug-Symbol, wird der Start der am günstigsten gelegene emulator, den Sie ausgewählt. Dies ist wichtig: die Eclipse benötigt, um starten Sie den debugger, nicht AVD.
Beachten Sie, dass die Größe (128) ist, in Megabyte.
Schauen Sie auch hier: http://viralpatel.net/blogs/jvm-java-increase-heap-size-setting-heap-size-jvm-heap/
Oder: erhöhen Sie den AVD RAM und der max-VM application-heap-Größe in VM-Optionen:
Gehen Sie zu Fenster-->AVD-Manager-->Virtuelle Geräte-->Bearbeiten.
Max VM application heap size
parameter auf 128 und dieDevice ram size
512. AberRuntime.getRuntime().maxMemory()
noch zurück 48 MiB. Ich benutzeLog.v("Utils", "Max mem in MB : " + (Runtime.getRuntime().maxMemory()/(1024*1024)));
um die max-Speicher. Ich denke mal sollte es wieder der gute Wert ?Max VM application heap size
parameter auf 128 und dieDevice ram size
zu 512 durch Bearbeiten der AVD. Aber es scheint nicht zu wirken.Verwenden Sie den folgenden code. Ich denke, es würde dir helfen:
können Sie nicht erhöhen Sie die heap-Größe dynamisch.
können Sie verlangen, um mehr von android:largeHeap="true" in der manifest-Datei, aber Sie können nicht mehr die heap-Größe als normal, da es nur eine Anfrage.
können Sie auch systemeigene Speicher, so dass Sie tatsächlich umgehen Sie die heap-Größe Begrenzung.
hier sind einige Beiträge habe ich dazu gemacht:
Wie zum Zwischenspeichern von bitmaps in native memory
JNI bitmap-Operationen , für die Unterstützung zu vermeiden OOM bei großen Bildern
und hier ist eine Bibliothek, die ich gemacht habe für Sie: