iPhone使用UIImageView进行大量动画的最佳做法

时间:2010-12-21 04:13:21

标签: iphone animation uiimageview

请求在iphone上制作动画图像的一些建议。我正在构建一个由5个动画角色组成的应用程序。

每个动画包含大约50张图像,平均持续时间为3秒。

我打算为每个动画创建一个图像数组,将它们作为UIImageView的源代码并根据需要切换它们。但是你可以猜测这种方法可以杀死我的iphone内存,从而杀死它。 (250张图片@ 130K!)

所以这让我想知道其他人如何解决这个问题?也许将动画更改为电影?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

我推荐电影路线,如果你可以逃脱它。它会更干净,而且性能更高。

但是,如果由于某种原因你仍然坚持使用图像,那么连续加载5000张全帧图像的效果如下:

[UIImage imageWithData:...] // 44.8 seconds

[UIImage imageWithContentsOfFile:...] // 52.3 seconds

[[UIImage alloc] initWithContentsOfFile:…] // 351.8 seconds

[UIImage imageNamed:...] // hung due to caching

答案 1 :(得分:0)

您是否尝试使用表示帧的UIImages数组在UIImageView上设置animationImages属性。我过去做过这个并且效果很好,但是我的动画中没有和你一样多的图像。

如果图像中的数据太多,则可能需要执行更复杂的操作,例如精灵地图集。该方法将一组帧组合为一个图像,然后通过更改大图像的可视部分来动画帧。这样整个事物一次加载,动画只会改变用户看到的图像部分。 Cocos2D在精灵动画方面有很多功能。如果animationImages的东西不起作用,你可能想尝试一下。

- 麦克