我有一组我想要动画的各种UIImage序列。事实证明,使用计时器和执行drawRect有一些性能问题。
我的下一步是使用UIImageView进行调查,但是如果不止一次更新animationImages数组,那么显然会出现内存泄漏。
我的下一步是研究使用CALayer和CAAnimation进行此操作但是在快速浏览一下文档后,他们似乎并没有表明它是用于在图像之间制作动画(注意,我没有改变位置或任何东西否则,只是图像)。
我是走正确的道路还是还有其他方向我应该调查?
答案 0 :(得分:1)
您是否真的需要多次更新UIImageView中的图像数组?如果你需要在动画被使用后更改动画,我会认为最好创建一个新的UIImageView吗?
我听说UIImageView的数组动画中存在内存泄漏,但我从v2.0开始就使用它,并没有任何重大问题。 YMMV当然。
要首先设置帧数组,请使用UIImages(每帧一个)加载NSMutableArray并将其设置为UIImageView的animationImages属性(然后也设置animationDuration属性)。只要您想要为其设置动画,就可以调用startAnimating方法。在正常使用中,您不需要在设置后更改帧数组。
答案 1 :(得分:-1)
我不熟悉iPhone开发,但听起来你需要一个用于二维动画的精灵。包含每个帧的大型图像文件,您一次只能显示一个帧。就像索引2维数组一样,但你只需跟踪每帧的像素偏移量。