安卓专项测试主要包括:响应时间、cpu、内存、电量、流量、FPS、过度渲染。
一、响应时间
1.安装:普通安装、覆盖安装
2.启动:冷启动、热启动(1)adb命令:adb logcat、adb shell am start、adb shell screenrecord等。
小示例:
1)adb shell screenrecord /sdcard/demo.mp4
2)adb pull /sdcard/demo.mp4 d:\record
3)用按帧播放的视频软件播放分析,比如KMplayer。(2)代码里打点(埋点)。
(3)高速相机。
(4)秒表。
(5)第三方工具或云测平台。3.跳转:页面之间、控件之间
二、cpu
1.活动状态
2.静默状态(1)第三方工具:腾讯GT、网易Emmagee、阿里易测等。(小白首选)。
(2)dumpsys命令:adb shell dumpsys cpuinfo | grep {PackageName}。
(3)top命令:adb shell top | grep {PackageName}。小示例:
1)adb shell
2)top | grep com.peng.cloudp.tv第一列PID:进度ID
第二列PR:优先级
第三列CPU:瞬时CPU占用率
第四列进程状态:R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
第五列THR:当前应用所用的线程数
第六列VSS:虚拟消耗内存
第七列RSS:实际使用物理内存
第八列UID:进程所有者的用户ID
第九列PR:进程名称
三、内存
1.命令查看内存数据
(1)adb shell dumpsys meminfo {PackageName}查看内存是否是一味上涨的趋势,不会回收或者部分回收。
(2)/system/build.prop 查看每个应用分配的最高内存值。
adb shell procrank (没有可以从网上下载procrank文件)。PID:进程ID
VSS:虚拟消耗内存
RSS:实际使用物理内存,是共享内存+私有内存。
PSS:占用私有内存加上平均分配的的共享内存。
USS:私有内存,如果应用终止了,这部分内存会释放。如果这个值超过应用被分配的最大值,就会闪退。2.Memory Monitor查看内存风险
3.MAT分析内存泄漏
4.Zombie辅助检查内存占用
四、电量
1.待机:无网络待机、wifi待机、3G待机等。
2.活动状态:不断地进行某些场景操作、看视频、灭屏下载、唤醒等。
3.静默状态:打开app后不操作,后台运行。(1)通过硬件测试:耗电量测试仪、腾讯的电量宝等
(2)通过adb shell dumpsys batterystats命令。(android5.0以上使用)
(3)第三方工具或云测平台。
(4)android自带的电量统计。
五、流量
1.活动状态
2.静默状态(1)通过Tcpdump抓包,然后用Wireshark分析。如果想更自动化,可以用FildderCore二次开发。
(2)查看Linux流量统计文件。小示例:
1)ps | grep com.peng.cloudp.tv (获取的pid为9696)
2)cat /proc/9696/status (通过pid值获取uid为10035)
3)cat /proc/uid_stat/10035/tcp_snd (通过uid获取发送的流量byte,为15584)
4)cat /proc/uid_stat/10035/tcp_rcv (通过uid获取接收的流量byte,为16778)(3)利用类似DDMS的工具查看流量。(小白首选)
(4)通过Android API 的 TrafficStats类来统计。
(5)第三方工具或云测平台。
六、FPS
1.adb shell dumpsys gfxinfo
小示例:
1)adb shell dumpsys gfxinfo com.peng.cloudp.tv > com.peng.cloudp.tv.txt
2)抓取数据后用表格进行分析2.monitor.bat进行测试
3.打开【设置-开发者选项-GPU呈现模式分析-在屏幕上显示为条形图】,开启后点击应用,可以看到条形图。
测试应用流畅度:
(1)条形图高于绿线,说明出现卡顿
(2)条形图低于绿线,说明比较流畅
七、过度渲染
1.打开【设置-开发者选项-调试GPU过度绘制-显示过度绘制区域】,开启后点击应用,可以看到各种颜色的区域。
颜色的标识:
(1)蓝色1x过度绘制
(2)绿色2x过度绘制
(3)淡红色3x过度绘制
(4)红色超过4x过度绘制2.颜色越浅越好:蓝-绿-淡红-红。最理想的是一个像素只绘制一次,合格的页面是白色、蓝色为主,绿色以上区域不能超过整个的三分之一。
验收标准:
(1)控制过度绘制为2x
(2)不允许存在4x过度绘制
(3)不允许存在面积超过屏幕1/4区域的3x过度绘制(淡红色区域)
持续更新…
最后更新: 2018年05月11日 14:52