iPad 的应用程序网站之一说——“充分利用 iPad 的图形处理来创造流畅的、每秒 60 帧的体验。” 哇!此外,谷歌浏览器的动画速率与显示刷新频率相匹配,比如 60Hz。
我的问题:对于移动平台,如何编写同步设备屏幕刷新率并提供流畅动画的应用程序?
您应该使用动画 API。例如参见 ValueAnimator 的文档:
http://developer.android.com/reference/android/animation/ValueAnimator.html#setFrameDelay%28long%29
该文档说:“当动画系统使用外部定时源(例如显示刷新率 (vsync))来管理动画时,可能会忽略帧延迟。” 我不知道是否所有设备都使用 vsync(很想测试一下),但这听起来非常像是获得动画平滑度的正确方法。
请参阅有关属性动画的开发人员指南:http: //developer.android.com/guide/topics/graphics/prop-animation.html
此外,还有一个 API 可以为您提供刷新率:http: //developer.android.com/reference/android/view/Display.html#getRefreshRate%28%29
((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRefreshRate();