iphone存储图像的最佳方式

时间:2009-11-12 13:46:27

标签: iphone sqlite file storage

我正在开发一款需要从网络缓存一些图片的应用,图片可能是100x100

我只需要知道哪个更好:

  1. 将图像存储为iPhone文件系统中的文件
  2. 将它们作为blob存储在sqlite Db中,以及已保存在数据库中的其他数据。
  3. 感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

Apple绝对不推荐将图像存储在数据库中,文件系统实际上非常擅长在磁盘上定位文件(本例中的图像),这使其成为保存图像的最佳解决方案。这些是苹果技术传播者在巴黎iPhone技术讲座世界巡回赛中使用的完全相同的词语。如果它只是几张图片,你可能会侥幸逃脱,但当这个数字可能变得非常大时,文件就可以了。

此外,您可以使用延迟加载方法来获取磁盘的图像,这将延迟将图像从磁盘加载到真正需要的时候。

[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png"]]

编辑:imageWithContentsOfFile不会立即加载图像,因此不会锁定线程,也不会缓存图像。另一种方法imageNamed:确实锁定线程并立即加载图像,在光明的一面,它会缓存图像。

答案 1 :(得分:1)

根据过去的经验,从文件系统存储(和检索)图像应该比从DB中快一点。至于易于处理和维护,它只取决于您更熟悉的内容:SQL脚本或iphoneOS文件系统功能。