Was genau ist der VM Heap?

Kokujou

Lieutenant
Registriert
Dez. 2017
Beiträge
929
Die Frage sagt ja alles... Bei meinen vielen fragen haben es viele sicher schon mitbekommen, aber ich versuche irgendwie den Android Studio Emulator optimal laufen zu lassen...

Ich hab mich umgehört aber verstehe immer noch nicht so richtig, was der VM Heap ist, den man ja einstlelen kann und vor alllem warum er immer so kleine Werte hat.

Irgendwie soll es ja der Arbeitsspeicher pro Anwendung sein... Aber was michw irklich interessiert... sind große Werte besser oder niedrigere? Denn wenn's Arbeitsspeicher ist ist mehr ja eigentlich immer besser...
Warum also ihn nicht auf den gleichen Wert wie den eigentlichen RAM setzen?

Oder sind niedrigere Werte besser? Gibt es eigentlich beschränkungen für den RAM den ein Emulator nutzen kann? Oder könnte ich da auch einfach meine 16GB, die ich habe, eintragen und er könnte sie nutzen? Und spielt es da eine Rolle, ob es ein normales x86 ist oder x86_64 ?
 
Ja ich weiß aber ich versteh es irgendwie nicht XD
Vielleicht ist die Sache auch einfach zu kompliziert für mich...

Ich wollte nur wissen ob hohe oder niedrige Werte besser sind....
Ich meine wir reden von Emulatoren, ein PC hat ja 10mal mehr Leistung, das mussman doch irgendwie auf Emulatoren anwenden können... Ich hab aber immer noch das Gefühl als wäre mein Emulator 10mal langsamer als mein handy und es sollte doch eher andersrum sein! XD

und was ist mit dem RAM? Gibts da ne Obergrenze, hat das _64 irgendeine positive Auswirkung? Kompatibilität? Leistung? Ich hab es mit einer sehr störanfälligen App zutun die auf einigen Geräten im Stundenrhytmu abstürzt. damussich irgendwie die optimalen Einstellungen finden.
 
Der Emulator ist zum Testen deiner Apps. Die VM Heap kannst du einstellen, um zu überprüfen, wie sich eben diese Apps entsprechend (und damit auf verschiedenen echten Geräten) verhalten werden. D.h. besser ist es natürlich mit so wenig wie möglich auszukommen.
 
Naja okay das ist der Hauptzweck, aber viele Menschen benutzen Emulatoren ja einfach um Apps auf dem PC zu benutzen und das ist mein Ziel ^^
Ich habe festgestellt, dass der Android Studio emulator der verlässlichste ist, die anderen stürzen mir ständig ab und was nicht alles... Die Aktion mit dem Play Store ist zwar reine Körperverletzung aber ein netter Mensch hier hat mir den Yalp Store empfohlen und jetzt klappt alles.

Also... wenn du sagst "auskommen" heißt das doch, dass mehr immer besser ist oder... also wenn ich jetzt bei einem x86 System Image 16GB RAM und einen VM Heap von 16GB aufschreibe würde das heißen dass mein Emulator genauso potent ist wie mein PC und Apps besser darauf laufen? Oder ist das alles quatsch und ich zerschieße mir damit eher das System?
 
Es bezieht sich auf eine einzelne Instanz einer Dalvik VM. Wenn der Heap dermaßen groß wäre, könnte eine einzelne App (bzw. irgendein Dienst) den ganzen RAM belegen und für echte Anwendungen und Daten wäre kein Platz mehr vorhanden.
 
also muss man quasi überlegen wie viele Hintergrund Apps parallel laufen...
und dann den Heap so wählen dass es auf die gerechnt aufgeteilt wird...
Naja eigentlich will ich ja dass die paar Apps die ich benutze volle RAM Befugnisse haben es wär nur blöd wenn irgendne Hintergrund-App meiner Hauptapp den RAM wegfrisst ...
Also auf deutsch kann man wohl einfach nur testen... kein wunder dass ich nirgends konkrete Empfehlungen gefunden habe.
Ergänzung ()

Weiß denn jetzt noch jemand ob _64 irgendeine Performance-Steigerung bei normalen Apps bewirkt? Oder ist dass nur bei Apps die speziell für diese Architektur entwickelt wurden und der rest läuft genausogut wie bei x86
 
Also nachdem ich mal gefunden habe, dass man auch im Emulator den verwendeten Speicher anzeigen kann ist mir aufgefallen, dass bei x86 nur 3GB verwendet werden. Also bringt _64 eine signifikante Performance-Steigerung!
Kein Wunder ich hab nen VMHeap von 1024M eingestellt und gedacht er benutzt 8GB RAM, aber wenn er das runter stuft auf 3GB ist es kein wunder, dass es da laggt.
 
Zurück
Oben