APP 测试CPU 参数
1 主要测试点
在空闲时间(切换至后台)的消耗,基本没大应用使用 CPU
在运行一些应用的情况下,CPU 已占 50%的情况下,观察应用程序占用 CPU 的情 况
在高负荷的情况下看 CPU 的表现(CPU 占用应是在 80%以上)
2 具体场景
应用空闲状态运行监测 CPU 占用率
应用按 Home 键退到后台,不再占用系统的状态(通常是灭屏半分钟后)
CPU 占用率=0%
应用中等规格运行监测 CPU 占用率
模拟用户最常见的使用场景
CPU 占用率≤30%
应用满规格长时间正常运行监测 CPU 占用率
应用正常运行,打开应用进行基本操作
CPU 占用率≤50%
3 测试方法
adb shell dumpsys cpuinfo apk 包名
adb shell dumpsyscpuinfo welab.bank.mobile.stage
单独查看一个APP:
adb shell dumpsy scpuinfo welab.bank.mobile.stage | findstr welab.bank.mobile.stage
如下图所示,该APP占用CPU为2.8%,其中1.2%是user,1.5%是kernel(内核)
结论:该APP占用内存为1.2%
adb shell top -m -s | findstr packageName
-m 数字
显示指定数目的最大值,一般后面不再接 findstr
使用-m 会导致隐藏列名
-s 数字
按指定列号进行倒序排列
从 1 开始,最大 11
9 代表 CPU,10 代表内存
-n 数字 刷新几次后退出
-d 秒数 刷新间隔
q 回车 退出
执行 adb shell top
执行 adb shell top -m 10
表示只显示占用CPU的前10个应用
执行 adb shell top -m 5 -n3
表示只显示占用CPU的前5个应用,并且结果不会一直刷新,显示3次之后会自动退出
执行 adb shell top -m 5 -n3 -s10
表示只显示占用CPU的前5个应用,并且结果不会一直刷新,显示3次之后会自动退出
-s10表示以内存降序排序,因为内存为第10列
执行 adb shell top -m 5 -n3 -s10 -d10
表示只显示占用CPU的前5个应用,并且结果不会一直刷新,显示3次之后会自动退出
-s10表示以内存降序排序,因为内存为第10列
-d10表示每隔10s才会刷新一次结果
执行 adb shell top -n3 -s10 -d10 | findstr welab.bank.mobile.stage
-n3 表示显示3次之后会自动退出
-s10表示以内存降序排序,因为内存为第10列
-d10表示每隔10s才会刷新一次结果
findstr APP包名,表示值查看某一个APP的状态
adb shell top -n10 -d2 -s9 |findstr welab.bank.mo* >D:\log.txt
监测APP 的CPU占用率 10 次,2s刷新一次,保存log到本地
如果反复进行某个操作,CPU 占用过高且一直无法释放,那便可能存在风险。