在android的开发中,我们不时需要客观的测量和评估android应用程序的帧率。这篇文章我打算分享下这几天我在这方面的尝试:
1) fps meter
这个软件是我使用最早的,但是对手机的要求很高。第一是root,root完毕也不是每个手机上都能很好的工作。现在小米的MIUI对于root这件事是越来越不大方了,所以也更加添加了使用的难度。
root成本高昂,root完毕仍然不一定适用于所有的手机。所以只能忽略之。
2) dumpsys
dumpsys是android系统提供的用于dump系统服务的状态信息的命令行工具。
给它提供gfxinfo参数时,它能在Logcat输出中给出UI相关的性能数据。但是M以前版本的android自带的dumpsys工具只能给出120帧的时序信息。且需要手动合并时间值。
例如systemui模块的UI方面的信息如下:
|
这些数据采样的时间太短,且需要进一步的加总才能可视化。所以不是很方便。
Google似乎也意识到了这一点,在M Preview中他们支持了累计的帧率数据:
|
但是适用面太窄了,只能在android M中使用。
3) GameBench
这个工具目前来看用起来很方面,且直接给出了可视化结果,非常人性化且可靠。上个截图:
使用步骤:
- 下载gamebench-3.2.2p.apk并安装到 Android 手机上
- 下载GameBench-Installer_v4.0.jar并通过java -jar GameBench-Installer_v4.0.jar
在PC上运行设置过程(注意:需要使用jdk8,不然jar包会报错),直到出现以下成功界面:
- 在 android 上运行 GameBench app,并在其中运行待评估的目标应用,运行一段时间后得到如下结果: