adb性能测试_内存

内存测试
1、使用数据线将手机设备与电脑设备连接,可装PP助手进行接入

2、手机打开待测app,即打开进程

3、打开cmd,获取设备列表:输入adb devices
在这里插入图片描述

4、进入该设备的shell环境,输入:adb -s C7R6T167220064661 shell (若只有一台,可直接输入adb shell)
在这里插入图片描述

5、查找进程:输入ps (模糊查找),寻找对应待测应用包名,并记录下其的pid(进程ID):30017,若知道明确的包名,可直接准确查找 ps |grepcom.hundsun.stockwinner.grzq
在这里插入图片描述
6、查询内存信息,可通过两种方式获取
(1)、通过“dumpsys meminfo 包名/pid” 命令获取,输入:dumpsys meminfo 30017
在这里插入图片描述
Pss Total :实际使用的物理内存
private dirty:私有驻留内存
Heap Size: 占用总内存(Heap 堆)(扩展:进程内存空间是虚拟内存,区分于物理内存,进程无法直接操作物理内存RAM。必要时,操作系统对其进行映射,使进程能应用到物理内存)
Heap Alloc: 分配内存
Heap Free: 空闲内存

内存大小:native process:13004
dalvik process:10448
注:因为Android系统对dalvik的vm heapsize作了硬性限制,当java进程申请的java空间超过阈值时,就会抛出OOM异常(这个阈值可以是48M、24M、16M等,视机型而定)
查看单个应用最大内存限制,输入命令:getprop|grep heapgrowthlimit 得到结果该机型为192M。dalvik process 超过就会抛OOM异常
在这里插入图片描述
(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 是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字

猜你喜欢

转载自blog.csdn.net/weixin_43639443/article/details/89241824
今日推荐