app前端性能
App前端性能测试
一、资源消耗
1、cpu
1)cpu检测我们要分3种情况:
(1)在空闲时间的消耗,cpu没怎么被使用的情况,app消耗cpu情况
(2)在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况
(3)在高负荷的情况下看CPU的表现,cpu占用应是在80%以上
(4)冷启动时消耗的cpu
2)查看cpu的命令
获取单个数据
adb shell dumpsys cpuinfo 包名
adb shell dumpsys cpuinfo |grep 包名
实时查看cpu数据
adb shell top|grep “包名”
2、流量消耗
1、冷热启动流量值
2、后台运行的流量值
3、高负荷运行(某个模块)的流量峰值
4、中等负荷运行(某个模块)时的流量均值
3、内存消耗
测试内容
和cpu类似
先获取包的进程,在观察该进程的内存消耗
adb shell dumpsys meminfo PID
4、耗时
冷启动耗时
热启动耗时
主要页面耗时
通过adb命令过滤activity_launch_time,来看activity消耗的时间
没有activity的,过滤时间的down和up,通过计算算出
5、电量消耗
通过battery life
6、渲染
我们可以通过手机设置里面的开发者选项,打开Show GPU Overdraw(调试GPU过渡渲染)
,选择 显示过渡渲染区域,可以观察UI上的Overdraw情况
7、fps
FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就 是指动画或视频的画面数
adb shell dumpsys gfxinfo com.tencent.mm
Draw: 表示在Java中创建显示列表部分中,OnDraw()方法占用的时间。
Prepare:表示程序准备时间
Process:表示渲染引擎执行显示列表所花的时间,view越多,时间就越长
Execute:表示把一帧数据发送到屏幕上排版显示实际花费的时间。
Draw + Prepare+Process + Execute = 完整显示一帧 ,这个时间要小于16ms才能保存每秒60帧。
从图中看出,这个APP的流畅度还是不错的,帧率控制在了16ms左右,超过的话就需要对APP进一步的优化了。
浙公网安备 33010602011771号