title: Detailed explanation for profile from "adb shell dumpsys meminfo my-app-name"?
body: <p>Can anyone give me a detailed explanation about the profile gotten by <code>adb shell dumpsys meminfo my-app-name</code>?</p>
  
  <p>The result is just as below as it mentioned in <a href="https://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android">How do I discover memory usage of my application in Android?</a>:</p>
  
  <pre class="lang-none prettyprint-override"><code>** 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
  </code></pre>
  
  <p>What does the each column (native, dalvik, other, total) mean? especially what's the "other" column (I can't figure out what's that besides native and dalvik)?
  It would be great if someone can give a concrete example to elaborate about this.
  e.g. I have an app A. A has its own object obj_private and its own native library lib_private. Besides, A references some object of Android framework obj_shared and some native lib of Android framework lib_shared. And obj_shared reference some native lib of Android lib_shared_indirect. For this case, can I say those?</p>
  
  <ol>
  <li>The "total size" equals all memory used by "obj_private + lib_private + obj_shared + lib_shared + lib_shared_indirect". </li>
  <li>The "private dirty" equals memory dirtied by "obj_private + lib_private"</li>
  </ol>
  
  <p>The reason we want to make clear about this is: there are some unusual runtime-memory increase of our latest version app compared to previous version. And when I used the dumpsys meminfo, I found the columns "native" and "other" increased dramatically. But the change of the new version is only related to java and there is no explain about the "other" column. I googled this and found no document. I also tried to read the source code of the adb. But I found it's easy to get lost in the source code for novice like me. So I post this question here in case that some one can help.</p>