Android端APP性能分析(一)
工具:Android Studio、adb命令
内容:
1,apk大小及比对比
2,app冷启动、热启动时间
 
命令:
adb shell am start -W 包名/Activity名 logcat -v time -b events  取Totaltime

冷启动:无数据的首次启动;

热启动:非首次启动情况,无初始化欢迎界面和首次初始化过程(后台运行30分钟后重新启动)

判断标准:响应时间小于等于1秒;

3,页面流畅度:
a,GPU过度绘制:开发者选项/,点击调试GPU过度绘制选项,在弹出框中选择 “显示过度绘制区域”

判断标准:

        1、没颜色:没有过度绘制,即一个像素点绘制了 1 次,显示应用本来的颜色

        2、蓝色:1倍过度绘制,即一个像素点绘制了 2 次

        3、绿色:2倍过度绘制,即一个像素点绘制了 3 次

        4、粉色:3倍过度绘制,即一个像素点绘制了 4 次

        5、深红色:4倍过度绘制及以上,即一个像素点绘制了 5 次及以上

应尽可能地将过度绘制控制为 2 次(绿色)及其以下,原色和蓝色是最理想的。

b,GPU呈现模式: 分析一帧的渲染过程各阶段的耗时
 
  开发者选项中,然后点击GPU呈现模式分析,选择“在屏幕上显示为条形图”
 
  90 % 保持到绿线下面,水平绿线表示渲染时间是 16 毫秒
 
Android APP性能分析(二)
工具:GT
内容:
1,FPS
  fps在人眼感知范围内不觉得卡顿的FPS频率大约是30以上,但是想要   达到流程度等级则需要为60
2,内存,CPU,流量
 
 
 
APP耗电量测试
工具: Battery Historian(Android)
内容:
1,通过adb命令,打开电池数据获取
2,重置电池数据
3,导出report
4,将report导入Battery Historian平台,查看结果
APP健壮性、稳定性测试
工具:Monkey
内容:
1,通过adb命令,在安卓机上进行随机触发测试,并输出日志到指定文件
2,分析日志,ANR CRASH Exception NullPoointerException
 
monkey与monkeyrunner没有什么关系,都是通过坐标点定位,它们的一个区别是,monkeyrunner只需要通过monkeyrunner加上脚本所在位置就可以运行,
monkey需要把脚本push到真机或者模拟器上以后,再通过monkey shell 命令进行运行。
  • 元素定位依赖于坐标点,稳定性差
  • 不支持跨平台使用(iOS平台无法使用)
  • 没有成熟系统的管理框架
  • 只适用于冒烟测试,检测app稳定性