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

标签 android shell adb android-memory

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

adb shell dumpsys meminfo com.imangi.templerun

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

谁能帮我理解一下?

Temple Run memory info

最佳答案

由于不同版本的“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/

相关文章:

java - android SocketException : Socket closed

c - 在 C 中使用 execvp 执行单独的命令

bash - 如何从文件列表中删除路径部分并将其复制到另一个文件中?

android - 使用 adb shell 重命名文件

android - SoftKeyboard 不允许在同一个键上使用 keyOutputText 和 keyIcon

java - 加载本地文件时android webview不执行javascripts

android - 用于启动屏幕保护程序 Activity 的 ADB 命令

android - 在 HTC Wildfire S 上调试 - Adb 错误

android - DynamicGridview 项目在 Viewpager fragment 之间拖放

Shell Script 和 yum,包不可用时怎么办。森托斯