我有在dragmove上发生的动画。
但是,我不想浪费更多的时间进行不必要的计算。
本质上,我希望dragmove事件仅以合理的动画速率重绘。
换句话说,dragmove事件以最快的速度传入,但是我只想尽可能多地执行代码以使用户流畅。
到目前为止,我想出的唯一解决方案是拥有一个单独的动画循环,该循环执行重绘和ondragmove只是设置我需要的变量。有没有更优雅的方式做到这一点?
最佳答案
这样想吧。 30 FPS是您的限制。无论您的限制如何, Activity 都将按自己的时间进行。
因此,您的想法不是那种“不雅”。我会说,这是唯一的方法。
每当收到运动事件时,都将其存储在本地,如果已经存储,则覆盖旧数据(这是忽略的部分)。从30 FPS循环中,采样运动事件(如果有的话),然后执行并销毁它。
关于这个。几乎是您自己的话。