Axiu Blog
4、dumpsys meminfo** 四个命令都是shell命令,所以如果直接运行需要adb shell。嵌入程序,如果使用ddmlib来驱动他们,可以使用IDevice.executeShellCommand(command)。 输入这些命令之后,会发现得到的结果是所有进程……一句一句来看是很麻烦的事。所以需要使用一些方法处理一下…… 之前讲过a
虽然不是在研发部门,但是偶尔还是要dump一些手机的内存、CPU信息,自己看或者给RD们提供信息,所以对于Android一些基本的adb命令还是要熟悉一下。 查看内存用命令: **1、top 2、ps 3、procrank 4、dumpsys meminfo** 四个命令都是shell命令,所以如果直接运行需要adb shell。嵌入程序,如果使用ddmlib来驱动他们,可以使
虽然不是在研发部门,但是偶尔还是要dump一些手机的内存、CPU信息,自己看或者给RD们提供信息,所以对于Android一些基本的adb命令还是要熟悉一下。 查看内存用命令: **1、top 2、ps 3、procrank 4、dumpsys meminfo** 四个命令都是shell命令,所以如果直接运行需要adb shell。嵌入程序,如果使用ddmlib来驱动他们,可以使
如何获取Android手机的内存信息?
Max

虽然不是在研发部门,但是偶尔还是要dump一些手机的内存、CPU信息,自己看或者给RD们提供信息,所以对于Android一些基本的adb命令还是要熟悉一下。

查看内存用命令:
1、top
2、ps
3、procrank
4、dumpsys meminfo

四个命令都是shell命令,所以如果直接运行需要adb shell。嵌入程序,如果使用ddmlib来驱动他们,可以使用IDevice.executeShellCommand(command)。

输入这些命令之后,会发现得到的结果是所有进程……一句一句来看是很麻烦的事。所以需要使用一些方法处理一下……

之前讲过android手机的shell是半残,好些有用的命令都不支持,不过这次要用到的grep除外。在以上四个命令后面添加上package Name即可,例如

Procrank com.tencent.mobileqq,即可过滤出来所有包含此字段的数据。

至于为什么有四个命令,是因为他们分工和使用场合不同。

前两个命令只能查到VSS RSS内存占用信息,而后面两个命令可以查出 PSS USS内存占用。
dumpsys meminfo 可以查出native和dalvik分别占用多少内存,dumpsys 用来给出手机中所有应用程序的信息,并且也会给出现在手机的状态。

VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

附:

dumpsys [Option]
option可以为:
dumpsysmeminfo 显示内存信息
cpuinfo 显示CPU信息
account 显示accounts信息
activity 显示所有的activities的信息
window 显示键盘,窗口和它们的关系
wifi 显示wifi信息

Comments