我需要在我的应用程序中的多个 UIImageViews 中使用数百次可拉伸的 UIImage。是否可以全局重用相同的可拉伸 UIImage 而不必在每次需要将其添加到 UIImageView 时在内存中重新创建它们?
我知道 [UIImage imageNamed:] 缓存图像以获得更好的性能,但这不能用于可拉伸图像!
谢谢,
麦克风
我需要在我的应用程序中的多个 UIImageViews 中使用数百次可拉伸的 UIImage。是否可以全局重用相同的可拉伸 UIImage 而不必在每次需要将其添加到 UIImageView 时在内存中重新创建它们?
我知道 [UIImage imageNamed:] 缓存图像以获得更好的性能,但这不能用于可拉伸图像!
谢谢,
麦克风
哦,绝对的,你应该总是存储你的图像一次,然后每次你想绘制它时调用同一个图像。通常对于具有大量图像的项目,我有一个 SpriteManager 类,其中包含一个充满精灵的 NSDictionary。然后我可以通过文件名引用每一个。这样每个图像只加载一次,这明显更快。
但是,绝对最有效的方法就是使用 OpenGL ES。如果你已经绘制了数百张图像,我绝对建议你这样做。
绝对:重用你的形象。您是否将其存储在全局变量中?确保您retain
的图像(或将其放在某个全局类(如您的应用程序)的保留属性中),因为它可能来自 AutoReleased。