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. 硬件加速
- 使用动画的过程中,建议开启硬件加速,这样会提高动画的流畅性