Android专项测试-CPU占比、流量消耗情况、电量消耗情况、内存消耗情况、流畅度

app的性能,启动时间
CPU
流量
电量
内存
FPS 每秒钟的帧数 流畅度

过度渲染

环境的配置
Android SDK
Python2.7

PyCharm

1、启动时间-冷启动 进程首次启动
adb shell am start -W -n package/activity
停止app指令
adb shell am force-stop package

获取包名命令
adb logcat |grep START 

cmp= 后面
2、热启动,
启动命令
adb shell am start -W -n package/activity

停止命令
adb shell input keyevent 3 

停止命令

启动时间
命令的返回时间

在命令前后加上时间戳,以差值作为参考值

cpu
获取数据
adb shell dumpsys cpuinfo |grep packagename
第一个百分比是整个占用的比例


流量
获取进程ID指令
adb shell ps|grep packagename
获取进程ID流量
adb shell cat/proc/pid/net/dev
receive  app接收数据
transmit  app发送数据
eht0  
eth1 两个网卡,流量消耗,是接口数据和发送数据的和
电量
adb shell dumpsys battery 
切换非充电状态
adb shell dumpsys battery set status 1    ,2  代表充电,电满的时候level值是100


内存
获取内存
adb shell top
取出两个值,VSS virtual set size 虚拟耗用内存
RSS Resident Set Size 实际使用物理内存




FPS  和过度绘制, frames per second 每秒的帧数
在安卓系统中定义一个每秒60帧为很流畅,60帧在1秒钟完成,一帧的完成时间是16毫秒,如果每帧的执行时间大于16毫秒,可以认为有卡顿的现象,


开发者模式,cpu呈现模式分析,选中第二个,在屏幕上显示条形图,每一个柱形图,每一帧的耗时,如果耗时大于16毫秒,如果小于16毫秒在绿线一下,如果很多在绿线以上说明,大于16毫秒
开发者模式,显示cpu过度绘制,颜色越深,代表当前位置层数越多,渲染了但是没有,却没有看到,这个过程就是一个过度绘制的过程,左滑之后,在进行绘制。如果发现页面比较卡的时候,可以打开元素绘制,查看是不是,过度绘制



猜你喜欢

转载自blog.csdn.net/qq_30353203/article/details/80429340