使用可伸缩UIImage时的最佳性能

时间:2009-09-01 14:16:54

标签: iphone performance memory uiimage

我需要在我的应用程序中在多个UIImageViews中使用可伸缩的UIImage数百次。是否可以全局重用相同的可伸缩UIImage,而不必在每次需要将其添加到UIImageView时在内存中重新创建它们?

我知道[UIImage imageNamed:]缓存图像以获得更好的性能,但这不能用于可伸缩的图像!

谢谢,

麦克

2 个答案:

答案 0 :(得分:3)

哦,绝对,你应该总是存储你的图像一次,然后每次想要绘制它时调用相同的图像。通常对于包含大量图像的项目,我有一个SpriteManager类,其中包含一个充满精灵的NSDictionary。然后我可以通过文件名引用每一个。这样每个图像只加载一次,速度明显加快。

绝对有效的方法,只是使用OpenGL ES。如果您已经绘制了数百张图像,我绝对建议您这样做。

答案 1 :(得分:1)

绝对:重复使用你的形象。您是将它存储在全局变量中吗?确保你retain图像(或者将它放在像应用程序这样的全局类的保留属性中),因为它可能来自AutoReleased。