0%

Android 动画深入分析(四):使用动画的注意事项

1. OOM 问题

  • 主要出现在帧动画中,当图片数量较多且图片较大时极易出现 OOM,实际开发中要尤其注意,尽量避免使用帧动画

2. 内存泄漏

  • 在属性动画中有一类无限循环的动画,这类动画需要在 Activity 退出时及时停止,否则将导致 Activity 无法释放从而造成内存泄漏,通过验证后发现 View 动画并不存在这个问题

3. 兼容性问题

  • 动画在 3.0 以下的系统上有兼容性问题,在某些特殊场景可能无法正常工作,因此要做好适配工作

4. View 动画的问题

  • View 动画是对 View 的影像做动画,并不是真正地改变 View 的状态,因此有时会出现动画完成后 View 无法隐藏的现象,即 setVisibility(View.GONE) 失效了,此时只要调用 view.clearAnimation() 清除 View 动画即可解决该问题

5. 不要使用 px

  • 在进行动画的过程中,尽量使用 dp,使用 px 会导致适配问题

6. 动画元素的交互

  • 将 View 移动(平移)后,在 Android 3.0 以前的系统上,不管是 View 动画还是属性动画,新位置均无法触发单击事件,同时,老位置仍然可以触发单击事件。尽管 View 已经在视觉上不存在了,将 View 移回原位置后, 原位置的单击事件继续生效。
  • 从 3.0 开始,属性动画的单击事件触发位置为移动后的位置,但是 View 动画仍然在原位置

7. 硬件加速

  • 使用动画的过程中,建议开启硬件加速,这样会提高动画的流畅性
-------------------- 本文结束感谢您的阅读 --------------------