【问题标题】:iphone best way to store imagesiphone存储图像的最佳方式
【发布时间】:2009-11-12 22:34:56
【问题描述】:

我正在开发一个需要缓存来自网络的一些图像的应用程序,这些图像可能是 100x100

我只需要知道哪个更好:

  1. 将图像作为文件存储在 iPhone 文件系统中
  2. 将它们作为 blob 与已保存在数据库中的其他数据一起存储在 sqlite Db 中。

感谢您的帮助。

【问题讨论】:

    标签: iphone sqlite file storage


    【解决方案1】:

    Apple 绝对不推荐将图像存储在数据库中,文件系统实际上非常擅长在磁盘上定位文件(本例中为图像),这使其成为保存图像的最佳解决方案。这些与 Apple 技术布道者在巴黎举行的 iPhone Tech Talk 世界巡回赛中使用的词完全相同。如果只有几张图片,你可能会侥幸成功,但当数量可能变得非常大时,文件就是要走的路。

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

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

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

    【讨论】:

    • 你确定 imageWithContentsOfFile 会延迟加载吗?文档没有说明这一点。
    • iPhone 技术讲座的其中一个环节谈到了性能,这是他们谈论的重点之一。
    • 100% 同意,不要将图像存储在数据库中。我一开始就这样做了,后来又开始使用文件系统,看看它是否会提高性能,男孩曾经这样做过。
    【解决方案2】:

    根据过去的经验,从文件系统存储(和检索)图像应该比从数据库快一点。至于是否易于处理和维护,只取决于您更熟悉什么:SQL 脚本或 iphoneOS 文件系统函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      相关资源
      最近更新 更多