Kann mir jemand eine detaillierte Erklärung über das Profil von adb shell dumpsys meminfo my-app-name
geben?Detaillierte Erklärung für das Profil von "adb shell dumpsys meminfo my-app-name"?
Das Ergebnis ist wie unten, wie es in How do I discover memory usage of my application in Android? erwähnt:
** MEMINFO in pid 890 [process-name] **
native dalvik other total
size: 10940 7047 N/A 17987
allocated: 8943 5516 N/A 14459
free: 336 1531 N/A 1867
(Pss): 4585 9282 11916 25783
(shared dirty): 2184 3596 916 6696
(priv dirty): 4504 5956 7456 17916
Objects
Views: 149 ViewRoots: 4
AppContexts: 13 Activities: 0
Assets: 4 AssetManagers: 4
Local Binders: 141 Proxy Binders: 158
Death Recipients: 49
OpenSSL Sockets: 0
SQL
heap: 205 dbFiles: 0
numPagers: 0 inactivePageKB: 0
activePageKB: 0
Was bedeutet die jede Spalte (native, Dalvik, andere, insgesamt) bedeuten? vor allem, was ist die "andere" Spalte (ich kann nicht herausfinden, was das neben nativen und Dalvik ist)? Es wäre schön, wenn jemand ein konkretes Beispiel dafür geben könnte. z.B. Ich habe eine App A. A hat sein eigenes Objekt obj_private und seine eigene native Bibliothek lib_private. Außerdem verweist A auf ein Objekt des Android-Frameworks obj_shared und auf eine native lib des Android-Frameworks lib_shared. Und obj_shared verweist auf eine native lib von Android lib_shared_indirect. Kann ich das für diesen Fall sagen?
- Die "Gesamtgröße" entspricht den gesamten Speicher verwendet von "obj_private + lib_private + obj_shared + lib_shared + lib_shared_indirect".
- Die „private dirty“ gleich Speicher dirtied von „obj_private + lib_private“
Der Grund, warum wir klar machen wollen, dabei ist: Es gibt einige ungewöhnliche Laufzeit-Speicher Erhöhung unserer neuesten Version App im Vergleich zu früheren Ausführung. Und als ich die dumpsys meminfo benutzte, fand ich die Spalten "nativ" und "andere" dramatisch erhöht. Aber die Änderung der neuen Version bezieht sich nur auf Java und es gibt keine Erklärung über die "andere" Spalte. Ich habe das gegoogelt und kein Dokument gefunden. Ich habe auch versucht, den Quellcode des Adb zu lesen. Aber ich fand es leicht, sich im Quellcode für Anfänger wie mich zu verlieren. Also poste ich diese Frage hier für den Fall, dass jemand helfen kann.
Bitte überprüfen Sie http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android –