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是针对某个进程开始有可疑内存泄漏的情况,进行检测的最佳数字。
最新文章
- Maven assembly 打包
- js 遍历json对象
- alive pdf 基本用法
- Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
- Linux阿里云挂载磁盘,并开机自动挂载
- python3下最简单的九九乘法表
- Particle Filters
- ssh介绍
- 更新本地git仓库的远程地址(remote地址)
- 获取AFP服务信息
- HDU4647_Another Graph Game
- Java API 操作Zookeeper
- lua-excel助手
- Spring Boot Common application properties(转载)
- 9、python中的控制流
- SEO搜索引擎基础原理
- CREATE GROUP - 定义一个新的用户组
- Longest Increasing Subsequence HDU - 6284
- POJ 2195 Going Home 最小费用流
- DStream转为DF的两种方式(突破map时元组22的限制)