发布于 2017-01-13 14:16:12
使用runnable是更好的方法吗?
使用runnable没有什么错。你的要求是在好的手机上运行60fps,在低端设备上运行较低的fps:
是Canvas onDraw timed吗?
目前,您的画布onDraw()必须每隔16ms触发一次才能获得60fps的动画。为了减少它,根据你的情况每32ms触发一次。
注意:
我们只能通过在画布视图上调用invalidate来触发onDraw方法。但我们不能100%确定您的所有失效将导致重新绘制。这是一些帧下降的地方,在这里和那里,将使您的动画失去光泽。
我的2点看法:
当您在画布上处理自定义视图时,使用值动画器执行重绘(无效)将使您可以灵活地应用任何类型的缓动功能。和一些有趣的文章来了解canvas是如何工作的,这样你就可以避免遗漏的帧。
https://hackernoon.com/android-draw-a-custom-view-ef79fe2ff54b#.vtdmbs95g
https://stackoverflow.com/questions/41628272
复制相似问题