性能指标:
启动时间 | cpu | 流量 | 流量 | 电量 | 内存 | fps 过段渲染 |
启动时间:监控app在启动过程中的耗时情况
cpu:app在使用过程中cpu的占用比例
流量:app在使用过程中流量的消耗情况
电量:app在使用过程中电量的消耗情况
内存:app在使用过程中对内存的消耗,验证使用过程中无内存泄漏的情况
fps:每秒钟的帧数,主要用来衡量流畅度
过度渲染:影响流畅都的一个方面就是过度渲染,通过过段渲染测试,可以检查异常情况
准备环境
1-android-sdk
2-python
3-pycharm
一、启动时间
冷启动---程序首次启动,进程首次创建并加载资源的整个过程
获取应用的包名和activity名: adb logcat | findstr START
运行此命令后,点击想要获取包名的app
包名 activityname
com.tujia.hotel/.main.StartActivity
启动命令:adb shell am start -W -n packageName/.activityName
This time--- 这次启动app指令完成时所用的耗时
Total time-总时长
停止命令:adb shell am force-stop packageName
热启动---应用程序启动后,点back或home键应用程序退到后台,进程未被完全杀死状态,然后再次启动
启动命令:adb shell am start -W -n packageName/.activityName
停止命令:adb shell input keyevent 3 。 3代表手机上的back键
启动时间
脚本化 。 1-获取命令执行时间,作为启动的参考值
2-在命令前后加上时间戳,以差值作为参考值
(后面会持续跟新python脚本)
2-cpu
获取数据
adb shell dumpsys cpuinfo | grep packagename
长时间、多次启动,查看对比多次启动的数值
3-流量
获取进程的ID
adb shell ps | grep packagename 获取到pid后,在获取pid的流量
获取进程ID的流量(替换获取到包的pid)
adb shell cat/proc/pid/net/dev
参数解读:
receive---app接收的数据
transmit---app发出的请求数据
流量=receive+transmit
4-电量
获取电量
adb shell dumpsys battery
在测试电量时,我们必须要保证手机是非充电状态
切换非充电状态
adb shell duupsys battery set status 1
只要是status值非2就可以,status值为2时是充电状态
关注level值是电量的状态
5-内存
获取内存 adb shell top
参数解读: vvs-virtual set size 虚拟耗用内存
rrs-resident set size 实际使用物理内存
内存是否有泄露情况判断标准:内存恒定