Android 流畅度测试

一、度量指标基本概念

1.1 基本概念

著名的"16ms"原则:

我们通常会提到60fps(Frame Per Second) 与 16ms

60fps:人眼与大脑之间的写作无法感知超过60fps的画面更新

16ms:因为Android设定的刷新频率是60fps,也就是60帧每秒,即16ms =1000/60Hz

Android 系统每隔16ms会发出VSYN信号,重绘展示给用户的界面

FPS

FPS是图像领域的定义,是指画面每秒传输的帧数,通俗来讲就是动画或者视频的画面数。FPS是测量用于保存、动态视频的信息数量。

测量方法:测量应用的帧率FPS:adb shell  dumpsys gfxinfo

丢帧SF:跳过的帧数。如下图所示

                 

FPS的缺陷:如果页面本身没有刷新展示的需求,FPS就会很小,比如一个静态页面,FPS可能是0,这是正常现象,并不代表当前页面卡顿。但从FPS的指标来说,会误认为该页卡顿。

流畅度SM(SMoothness)

在VSync机制中,1s内Loop运行的次数,更加能说明当前APP的流畅度。如果没有绘制事件,也会运行一个这样的Loop;

SM=帧率(60)*(单位时长的总帧数-单位时长丢帧数)/单位时长总帧数

代码层面:Choreographer中doFrame()执行的次


SM值与主观卡顿情况对照表

SM值卡顿感受
<=20卡死
20<SM<=40很卡
40<SM<=50较卡
50<SM<=60不卡,流程

测量方式:GT,在插件中选择GT流畅度测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值