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

时间:2014-11-06 09:44:22

标签: android shell adb android-memory

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

的输出

adb shell dumpsys meminfo com.imangi.templerun

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

有人可以帮我理解吗?

Temple Run memory info

1 个答案:

答案 0 :(得分:7)

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

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

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

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

  • Private Dirty 是非共享的脏内存(猜你认为是这样)。
  • 私密清洁是非共享清洁内存(并且)。
  • PSS 比例集大小:这是一个棘手的衡量标准,其中所有私人页面贡献其大小的100%,共享内存贡献&#size; /(共享的进程数)'。这样,如果您总结所有进程的所有PSS,那么您将获得总内存使用量。
  • Swapped Dirty 不知道。我对此有疑问:Android dumpsys meminfo "Swapped Dirty" coloumn meaning?

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