【发布时间】:2014-11-11 07:58:34
【问题描述】:
FPS 约为 60,但动画有时仍会出现故障。我做了线程分析,发现在 Samsung S4 或 Samsung S3 lockCanvas() 有时可能需要 20ms。
有什么具体原因吗?如何避免此类故障。
【问题讨论】:
-
您是否通过休眠线程自己调节帧速率?我发现我只有 55 fps 与surfaceview 一致。否则,您将受到 cpu 速度的摆布,因此如果它决定它正在做太多工作并在锁定时间减慢某些帧或决定更快地处理一些其他帧,则会出现故障。如果你将帧速率降低到 30 fps,lockcanvas 时间会下降到 0-1 毫秒,并且不会再出现故障。你可以试试 Textureview (api 14),因为锁定时间只有 0-1ms 运行全油门(我必须调节帧速率,因为我的动画运行得很快)。
标签: android android-animation surfaceview