我正在查看下面给出的命令输出
adb shell dumpsys meminfo com.imangi.templerun
但是,我无法正确理解这一点。
谁能帮我理解一下?
最佳答案
由于不同版本的“dumpsys”所显示的列和行可能会有所不同,因此我将尝试在此处提供一些通用概述...
Android 中的每个应用程序都在运行其自己的 Dalvik VM 实例的不同进程中运行。
- Native Heap 行表示进程本身使用的内存(例如:Native C mallocs)。
- Dalvik Heap 是由 Dalvik VM 分配的内存(例如:Java Android 代码中的变量)。
- Dalvik Other 是用于 JIT 和 GC 的内存。
Android 可能会在多个进程之间共享内存页面(想想通用框架的代码)。干净的内存是自从它被分配或从存储(您的应用程序代码)加载后没有改变的内存。脏内存是用于计算的空间。 Android 没有交换机制,所以脏内存也是 RAM,当应用程序退出时将被释放。
- Private Dirty 是未共享的脏内存(我猜您已经想到了)。
- Private Clean 是非共享的干净内存(和那个)。
- PSS 按比例设置大小:这是一种棘手的测量方法,其中所有私有(private)页面贡献其大小的 100%,而共享内存贡献“大小/(共享的进程数)”。这样,如果您对所有进程的所有 PSS 求和,您将获得已使用的总内存。
- Swapped Dirty 不知道。我对此有疑问:Android dumpsys meminfo "Swapped Dirty" coloumn meaning?
进一步阅读: https://developer.android.com/tools/debugging/debugging-memory.html
关于android - adb shell dumpsys meminfo - 其输出的每个单元格的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776134/