动画太慢了

时间:2014-07-12 16:47:35

标签: android animation

我正在为Android平台开发游戏。布局包括应该在不停止从上到下移动的元素。我决定使用Handler并设置handler.postDelayed(this, 10) 动画"步骤"是5px(实际上不是px,但对于讨论并不重要)。

事实是,动画经常抽搐并且不平滑。每次调用处理程序时,我都会进行一些简单的检查,并使用setX(), setY()来更改元素位置。

我该怎么做才能使动画流畅?我应该调整上面提到的数字吗?另外,我已经了解方法setWillNotDraw(boolean b)可能有用 - 如何明智地使用它?

如果你可以指导我应该做什么,我会很高兴(有点"做和不做')。

谢谢!

1 个答案:

答案 0 :(得分:1)

正如pskink所暗示的那样ViewPropertyAnimator比自己制作动画更友好。如果您希望/需要手动管理它,请考虑View.postOnAnimation而不是Handler.postDelayed以使用新的动画帧运行更新。

无论您如何移动对象,都要警惕屏幕上有多少视图。移动一个视图可以强制整个视图层次结构重做其布局 - 这肯定会扼杀动画速度。尝试以空的布局动画单个视图。

Profiling对于跟踪性能问题非常有帮助。