手机知识

关注公众号 jb51net

关闭
手机学院 > 手机知识 >

选手机!教你测试手机流畅度

脚本之家

  “流畅度”一直是个比较玄的概念,关于iOS、WP以及安卓之间谁流畅,一直是个悬而未决的问题。而安卓的流畅度,又比iOS、WP要玄上一个层次。从安卓诞生开始,安卓的流畅度一直众说纷纭,每次有安卓新版发布,流畅度追上甚至超赶iOS的言论比比皆是。此外,不同安卓ROM乃至不同的安卓App的流畅度也有差别,所以安卓的流畅度能引来无数人争论不休。那么安卓流畅度有没有比较好的测试方法呢?一起来看一下吧。

  安卓流畅度测试方法一:系统自带功能

  实际上,为了方便开发者测试,安卓本身就内置了流畅度检测的功能。不过,这需要我们开启隐藏的开发者选项。如果你在用原生系统,那么开启开发者选项的方法很简单,进入到设置菜单“关于手机”页面,点击数次“版本号”,即可开启开发者选项。如果用的是其他ROM,方法也许有所不同,比如说魅族的Flyme开启开发者选项的方法是在拨号界面输入“*#*#6961#*#*”,其他机器方法也各有不同,大家可以参照厂商的说明。

测试安卓流畅度 测试手机流畅度 测试安卓帧数

测试安卓流畅度 测试手机流畅度 测试安卓帧数

连续点击版本号即可开启隐藏的开发者选项

  进入到开发者选项,可以看到有“GPU呈现模式分析”的选项,开启后即可以条形图和线形图的方法显示系统的界面响应速度,可以用以观察系统流畅度。那么要如何根据曲线判断系统是否流畅呢?实际上这个曲线表达的是GPU绘制每一帧界面的时间,只要不超过顶部绿线,都可以视为足够流畅。

测试安卓流畅度 测试手机流畅度 测试安卓帧数

测试安卓流畅度 测试手机流畅度 测试安卓帧数

开启GPU呈现模式分析

测试安卓流畅度 测试手机流畅度 测试安卓帧数

测试安卓流畅度 测试手机流畅度 测试安卓帧数


只要下方的曲线不超过绿线,都可以视之为流畅

  使用系统自带方法测试流畅度的好处很多,首先是数据准确,系统肯定最知道自己的帧率如何;其次是不占资源,对流畅度测试的影响比较小。那么这个方法是否万无一失呢?其实还是有一些缺点的。比如说利用CPU渲染UI的App界面,就无法得到测试结果(当然这些界面基本无一例外卡顿无比,不用测也知道不流畅);当系统停顿了一下,例如微博加载图片时,响应速度会大幅增加,曲线瞬间突破绿线——这情况不能说不流畅,因为这属于内容和界面先后响应的机制,如果光凭曲线是否突破绿线判断是否流畅,未免太过局限。

  安卓流畅度测试方法二:FPS Meter测试安卓帧数

  FPS Meter是一款非常实用的小软件,能够用数字实时显示安卓界面的每秒帧数,非常直观。此外,FPS Meter还可以显示最大帧数、最小帧数以及平均帧数,用来评价安卓流畅度极具价值。由于涉及到了系统功能,所以FPS Meter需要root。如果你打算尝试,请先root机后再使用。

  FPS Meter的使用很简单,开启App后启动服务即可。在App内,你可以选择帧数显示的位置,以及是否开启平均帧数、最低/最高帧数显示。开启服务后,即可看到有帧数显示于界面上。这里要注意,使用FPS Meter测量帧数需要在开发者选项中停用HW叠加层才会比较准确。

测试安卓流畅度 测试手机流畅度 测试安卓帧数

测试安卓流畅度 测试手机流畅度 测试安卓帧数


FPS Meter可以显示最大最小帧数以及平均帧数

测试安卓流畅度 测试手机流畅度 测试安卓帧数

测试安卓流畅度 测试手机流畅度 测试安卓帧数

  FPS Meter可以测试界面帧数,不过某些手机如果界面静止,帧数会为0

  FPS Meter除了测量系统界面帧数外,还可以用来测量游戏的帧数,所以用FPS Meter来测试某部安卓机游戏性能多强也是个很好的选择。

测试安卓流畅度 测试手机流畅度 测试安卓帧数
FPS Meter也可以用来测量游戏流畅度

  当然,FPS Meter也并非十全十美。由于属于第三方App,所以可能会有一些兼容性问题。某些安卓机或者ROM使用FPS Meter可能会不兼容,即使成功开启了帧数显示也没法测量到准确数值,而某些设备使用FPS Meter甚至会死机。不过在大多数情况下,这款App还是相当值得信任的。

  总结

  经过长年累月的发展,安卓在多个版本中都通过新技术提升了流畅度,比如说安卓2.3引入Dalvik、安卓4.0引入GPU界面绘制、安卓4.1引入黄油计划、安卓4.3引入Trim以及安卓4.4引入ART等等。然而,安卓的流畅度还是令人争论不休,五花八门的ROM、App以及设备无疑是安卓流畅度倍受争议的一大原因。本文介绍的方法虽然没法测试触摸屏响应速度,但能够测出帧数也具有相当意义的参考价值。如果你非常重视系统流畅度,又倾向于使用安卓系统,不妨用上面的方法来挑选一下安卓吧。