adb shell dumpsys meminfo - 其输出的每个单元格的含义是什么?

May*_*ank 7 shell android adb android-memory

我正在查看下面给出的命令输出

adb shell dumpsys meminfo com.imangi.templerun

但是,我无法正确理解这一点.

任何人都可以帮我理解这个吗?

Temple Run记忆信息

ghe*_*ni4 7

由于呈现的列和行可能因"dumpsys"的不同版本而有所不同,因此我将尝试在此处提供一些通用概述...

Android中的每个应用程序都运行在运行其自己的Dalvik VM实例的不同进程中.

  • Native Heap行表示进程本身使用的内存(例如:Native C mallocs).
  • Dalvik Heap是由Dalvik VM分配的内存(例如:Java Android代码中的变量).
  • Dalvik Other是用于JIT和GC的内存.

Android可以在多个进程之间共享内存页面(通用框架的思考代码).清理内存是自从存储分配或加载以来未更改的内存(应用程序代码).脏内存是用于计算的空间.Android没有交换机制,所以脏内存也是RAM,当应用程序退出时将释放.

  • Private Dirty是不共享的脏记忆(猜你想的那样).
  • 私有清洁是非共享清洁记忆(和那).
  • PSS比例集大小:是一个棘手的测量,其中所有私有页面贡献其大小的100%,共享内存贡献'大小/(共享的进程数)'.这样,如果您总结所有进程的所有PSS,您将获得总内存使用量.
  • Swipped Dirty不知道.我对此有疑问:Android dumpsys meminfo"Swapped Dirty"coloumn意思?

进一步阅读:https: //developer.android.com/tools/debugging/debugging-memory.html