adb 性能测试(内存)

内存测试:

1.使用数据线将手机与电脑连接;

2.手机打开待测APP,即打开进程;

3.打开cmd命令,获取设备列表:输入adb devices;

4.进入该设备的shell环境,输入:adb -s  设备ID shell(多个),单个设备的话就直接输入:adb shell;

5.查找进程;

  1)输入ps(模糊查找),寻找对应待测应用的包名,并记录其pid

  2)若知道明确的包名,可直接准确查找 ps | grep  包名

6.查询内存信息,可通过两种方式获取

  1)通过 dumpsys meminfo  包名/pid  获取;

       Pss Total:实际使用的物理内存;

       Private dirty:私有驻留内存;

       Heap Size:占用总内存(Heap堆)(扩展:进程内存空间是虚拟内存,区分于物理内存,进程无法直接操作物理内存RAM。必要时,操作系统对其进行映射,使进程能应用到物理内存);

       Heap Alloc:分配内存;

       Heap Free:空闲内存

       native process:内存大小

       查看单个应用最大内存限制,输入命令:getprop | grep  heapgrowthlimit

  2)可直接通过procrank

       手机中的sh是经过精简过的,有些手机可能没有procrank命令,可以使用genymotion模拟器,或是自己安装procrank命令。

       VSS—Virtual Set Size(虚拟耗用内存包括共享库占用的内存):是单个进程全部可访问的地址空间。

       RSS—Resident Set Size(实际使用物理内存包括共享库占用的内存):单个进程实际占用的内存大小,不是精确描述。

       PSS—Proportional Set Size(实际使用的物理内存,比例分配共享库占用的内存):对于系统中的整体内存使用是一个很好的描述。

       USS—Unique Set Size(进程独自占用的物理内存,不包含共享库占用的内存):单个进程的全部私有内存大小,即全部被该进程独占的内存大小。

一般来说内存占用的大小有如下规律:VSS>=RSS>=PSS>=USS

USS是针对某个进程开始有可疑内存泄漏的情况,进行检测的最佳数字。

  

原文地址:https://www.cnblogs.com/crystalpig/p/10986259.html