android性能测试的要点分析

Android的app性能测试包括的测试项好比:
一、资源消耗
二、内存泄露
三、电量功耗
四、耗时
五、网络流量消耗
六、移动终端相关资源利用率
七、帧率
八、渲染html

内存篇linux

内存测试中的测试子项:
1)空闲状态下的应用内存消耗状况
2)中等规格状态下的应用内存消耗状况
3)满规格状态下的应用内存消耗状况
4)应用内存峰值状况
5)应用内存泄露状况
6)应用是否常驻内存
7)压力测试后的内存使用状况android

内存问题现象:
1)内存抖动
2)大内存对象被分配
3)内存不断增加
4)频繁GCshell

android检查内存泄露步骤:
一、运行Monkey进行压力测试:
adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50
二、监控内存值,若是出现过大等递增异常则保存HPROF文件(hprof文件是Java 虚拟机的Heap快照)用于分析查看应用内存的命令:
adb shell dumpsys meminfo cn.microinvestment.weitou(进程名)
若是发现内存过大,则保存HPROF文件:adb shell am dumpheap <进程名> <保存路径>
三、分析hprof文件
用工具MAT来查看,首先还要这个HPROF文件转换成MAT可读的文件
在Android SDK tool里面有个hprof-conv命令:
hprof-conv <原HPROF文件路径> <转换后的HPROF路径>
hprof-conv a.hprof b.hprof
四、用MAT工具打开转换后的HPROF文件
通常选择Leak Suspects Report(经过SQL语句来查询对象有没有被释放掉,若是有多个相同的对象,则会存在内存泄露的问题)网络

CPU篇app

CPU测试中的测试子项:
1)空闲状态下的应用CPU消耗状况
2)中等规格状态下的应用CPU消耗状况
3)满规格状态下的应用CPU消耗状况
4)应用CPU峰值状况工具

流量篇post

概念:
中等负荷:应用正常操做
高负荷:应用极限操做性能

流量测试中的测试子项:
一、应用首次启动流量值
二、应用后台连续运行 2 小时的流量值
三、应用高负荷运行的流量峰值
四、应用中等负荷运行时的流量均值测试

GPU篇(FPS)

概念:
过分绘制: 界面显示的activity套接了多层而致使
帧率:屏幕滑动帧速率
帧方差: 屏幕滑动平滑度
FPS:Frames Per Second 每秒显示的帧数 根据人眼的生理结构,帧率高于24时就被认为是连贯的。对于游戏画面30fps是最低能接受的,60fps逼真感,若是帧率高于屏幕刷新频率就是浪费。要达到30fps,每帧所占用的时间要小于33毫秒

GPU测试中的测试子项:
一、界面过分绘制
二、屏幕滑动帧速率
三、屏幕滑动平滑度

过分绘制测试:(人工进行测试)
打开开发者选项中的显示GPU过分绘制(Debug GPU overdraw)
验收的标准:
一、不容许出现黑色像素
二、不容许存在4x过分绘制
三、不容许存在面积超过屏幕1/4区域的3x过分绘制(淡红色区域)

屏幕滑动帧速率测试:
1.手机端打开开发者选项中的启用跟踪后勾选Graphics和View
2.启动SDK工具Systrace,勾选被测应用,点击Systrace,在弹出的对话框中设置持续抓取时间,在trace taps下面勾选gfx及view选项
3.手工滑动界面能够经过节拍来进行滑动或者扫动,帧率数据会保存到默认路径下,默认名称为trace.html
4.将trace.html文件拷贝到linux系统下经过命令进行转换,生成trace.csv文件
grep 'postFramebuffer' trace.html | sed -e 's/.]W//g' -e 's/:.*$//g' -e 's/.//g' > trace.csv
5.用excel打开文件计算获得帧率

屏幕滑动平滑度的测试:
方法如同帧率测试,惟一的差别就是最后的结果计算公式的差别

TestBird

相关文章
相关标签/搜索