2013-07-29 6 views
5

Quando eseguo "dumpsys adb shell MemInfo" su Android 4.2, ottengo il risultato comerelativo a "dumpsys meminfo" in 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 

Ho letto la pagina di How do I discover memory usage of my application in Android?, ma ancora avere diverse domande:

  • Perché il Pss nativo, sporco sporco sporco condiviso è molto piccolo?
  • la dimensione dell'heap deve essere inferiore a Pss?
  • Cosa significa Unknown? Sembra molto grande.
  • Se voglio sapere quanta memoria utilizza la mia app, quali dati dovrei usare? The Total Pss? Ma non include il Pss nativo che è nettamente zero?

risposta

2

Si prega di fare riferimento alla domanda How do I discover memory usage of my application in Android?. Vorrei anche che tu faccia riferimento al link Detail VSS,RSS,PSS,USS. I dati più appropriati da utilizzare per una particolare applicazione è USS (Unique Set Size) come

USS è la memoria privata totale per un processo, vale a dire che la memoria che è completamente unico a quel processo. USS è un numero estremamente utile perché indica il vero costo incrementale dell'esecuzione di un particolare processo. Quando un processo viene ucciso, USS è la memoria totale che viene effettivamente restituita al sistema. USS è il numero migliore da guardare quando inizialmente sospetti di perdite di memoria in un processo.

che si può ottenere da adb shell procrank | grep <your.package.name>

Problemi correlati