Explication détaillée pour le profil de “adb shell dumpsys meminfo my-app-name”?

Quelqu'un peut-il me donner une explication détaillée sur le profil obtenu par adb shell dumpsys meminfo my-app-name?

Le résultat est tout aussi ci-dessous comme il est mentionné dans Comment puis-je découvrir l'utilisation de la mémoire de mon application dans Android?:

** 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

Quel est le chaque colonne (natif, dalvik, autres, total)? et surtout de ce qui est "l'autre" dans la colonne (je ne peux pas comprendre ce que d'ailleurs natif et dalvik)?
Ce serait génial si quelqu'un peut donner un exemple concret d'élaborer à ce sujet.
par exemple, j'ai une application A. a a son propre objet obj_private et sa propre bibliothèque native lib_private. En outre, Une référence à l'objet de Android cadre obj_shared et certains lib native d'Android cadre lib_shared. Et obj_shared de référence de certains lib native d'Android lib_shared_indirect. Pour ce cas, puis-je dire?

  1. La "taille totale" est égal à la totalité de la mémoire utilisée par les "obj_private + lib_private + obj_shared + lib_shared + lib_shared_indirect".
  2. Le "private sale" est égal à la mémoire salis par "obj_private + lib_private"

La raison pour laquelle nous voulons qu'il soit clair à ce sujet est: il y a quelques inhabituelle à l'exécution de la mémoire de l'augmentation de notre dernière version de l'application par rapport à la version précédente. Et quand j'ai utilisé le dumpsys meminfo, j'ai trouvé les colonnes "indigènes" et les "autres" ont augmenté de façon spectaculaire. Mais le changement de la nouvelle version est uniquement lié à java et il n'y a pas d'expliquer au sujet de l ' "autre" de la colonne. J'ai googlé ce et n'a trouvé aucun document. J'ai aussi essayé de lire le code source de la bad. Mais j'ai trouvé qu'il est facile de se perdre dans le code source pour les débutants comme moi. Donc je poste cette question ici au cas où que quelqu'un peut vous aider.

OriginalL'auteur user1802093 | 2012-11-06