将UIImage对象放入系统缓存?

时间:2012-07-10 17:17:11

标签: ios caching uiimage

如果我在应用程序中创建UIImage对象,是否可以将其放入具有名称的UIImage图像缓存中?基本上,我后来想要通过调用imageNamed来检索它:除非系统抛出它,在这种情况下我会重新创建它。

1 个答案:

答案 0 :(得分:1)

如果使用[UIImage imageNamed:"somename.png"]创建对象,它会自动缓存,只有在有内存警告通知或希望暂停应用程序时才会释放它。

如果你想要更多地控制它,我会建议任何这些方法:

  • 存储到someDictionary并将其存储到userDefaults中。例如{“imageName”:“name.format”,“imageData”:someImageData“}。你甚至可以将所有内容存储在一个词典数组中。
  • 枚举数组:将所有必要的图像存储在用户默认值的数组中。并将名称转换为枚举的typedef。只需将字符串与数组索引匹配即可。

注意,我假设图像具有静态名称。如果你经常更改图像名称,我根本不会建议缓存。