动画 -- 属性动画 -- 注意事项

通过动画可以实现一些比较绚丽的效果,但是在使用过程中,也需要注意一些事情。

一、OOM问题

这个问题主要出现在帧动画中,当图片数量较多且图片较大时就极易出现OOM,尽量避免使用帧动画。

二、内存泄露

在属性动画中有一类无限循环的动画,这类动画需要在Activity退出时及时停止,否则将导致Activity无法释放从而造成内存泄露。
View动画不存在此问题。

三、兼容性问题

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

四、View动画的问题

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

五、不要使用px

在进行动画的过程中,要尽量使用dp,使用px会导致在不同设备上有不同的效果。

六、动画元素的交互

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

七、硬件加速

使用动画的过程中,建议开启硬件加速,这样会提高动画的流畅性。

你可能感兴趣的:(动画 -- 属性动画 -- 注意事项)