2013-07-29 2 views
5

Wenn ich "adb shell dumpsys meminfo" auf Android 4.2 laufen lasse, erhalte ich das Ergebnis wieAbfrage über "dumpsys meminfo" im Android

        Shared Private  Heap  Heap  Heap 
       Pss Dirty Dirty  Size Alloc  Free 
      ------ ------ ------ ------ ------ ------ 
    Native  28  8  28 16404 12256  3663 
    Dalvik 14062 10060 13736 20032 15254  4778 
    Cursor  0  0  0       
    Ashmem  0  0  0       
Other dev  4762  9556  0       
.so mmap 11699  1824  1500       
.jar mmap  0  0  0       
.apk mmap  368  0  0       
.ttf mmap  811  0  0       
.dex mmap  3736  0  0        
Other mmap  114  16  32       
    Unknown 12064  544 12052       
    TOTAL 47644 22008 27348 36436 27510  8441 

ich die Seite von How do I discover memory usage of my application in Android? gelesen haben, aber immer noch habe mehrere Fragen:

  • Warum die native Pss, geteilt schmutzig private schmutzig ist sehr klein?
  • die Heap-Größe sollte kleiner als Pss sein?
  • Was bedeutet Unbekannt? Scheint sehr groß.
  • Wenn ich wissen möchte, wie viel Speicher meine App verwendet, welche Daten soll ich verwenden? Die Gesamtpss? Aber es enthält nicht die native Pss, die wirklich Null ist?

Antwort

2

Bitte beachten Sie die Frage How do I discover memory usage of my application in Android?. Ich möchte auch, dass Sie sich auf Detail VSS,RSS,PSS,USS Link beziehen. Die am besten geeigneten Daten für eine bestimmte Anwendung zu verwenden sind USS (Unique Set Size) als

USS der gesamte private Speicher für einen Prozess ist, das heißt, dass der Speicher, der diesen Prozesses völlig einzigartig ist. USS ist eine äußerst nützliche Zahl, da sie die wahren zusätzlichen Kosten für die Ausführung eines bestimmten Prozesses angibt. Wenn ein Prozess beendet wird, ist die USS der Gesamtspeicher, der tatsächlich an das System zurückgegeben wird. USS ist die beste Nummer, die beobachtet werden muss, wenn in einem Prozess zunächst verdächtige Speicherlecks auftreten.

was können Sie von adb shell procrank | grep <your.package.name>

erhalten