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进一步的优化了。

posted on 2020-01-05 10:25  礼哥宝典  阅读(279)  评论(0)    收藏  举报