我正在开发一个使用大量详细图形的项目。由于始终显示的精灵、背景等的数量,它具有很大的内存占用。我们将 cocos2D 用于动画和精灵,将 UIKit 用于 UI、菜单等。
如果设备是带有视网膜显示屏的 iPod Touch,我希望能够通过强制 UIKit 使用标准分辨率图像来减少 iPod Touch 上的内存使用(它的内存比同等 iPhone 少)。我可以在 cocos2d 中设置一个标志来强制加载 SD 图像,但我还没有为 UIKit 找到类似的选项或解决方法。
总而言之,该项目是一个通用二进制文件,其中包含 SD 和视网膜风格的所有图像,如下所示:
图像.png
图片@2x.png
在 iPhone 4、4S 和 5(都带有视网膜显示器)上,需要加载 @2x 版本图像的默认 UIKit 行为。
在 iPod Touch 第 4 代(可能还有第 5 代)上,我想强制 UIKit 加载 SD image.png 文件,即使还有可用的 image@2x.png 文件。
这是为了减少这些具有视网膜显示器的设备上的内存占用,但内存只有手机的一半。
如果有人有任何想法或解决方法来实现这一点,我将不胜感激!