【问题标题】:iPhone, Store Loads of Photos?iPhone,存储大量照片?
【发布时间】:2012-05-09 11:45:17
【问题描述】:

在我的应用程序中,我有一些地方可以让用户拍照并将其放入列表中,从技术上讲,用户可以永远继续添加照片。

那么保存、存储和加载用户拍摄的照片的最佳方式是什么?考虑到,可能有数百个。此外,一次加载它们可能也不是一个聪明的主意,但是说有一个滚动视图,向下滚动,当到达底部时,它可能会再加载 20 个,然后再加载 20 个,等等。

任何帮助,非常感谢,谢谢。

【问题讨论】:

  • 为什么不将它们保存到内置照片库中?

标签: iphone objective-c ios ipad photo


【解决方案1】:

只需决定在哪里您要存储照片、内置照片库或应用程序文档文件夹或两者(我会选择照片库以方便用户观看、删除、同步等。 )。如果你选择documents文件夹,别忘了支持删除...磁盘空间是用户的问题。

如果您选择仅存储在照片库中并希望稍后从应用程序中访问照片,则必须保存已保存图像的 url。 This answer 告诉你它是如何工作的。

在滚动视图中加载照片需要一些优化,也就是说,将所有照片加载到内存中并不是一个好主意,而只加载可见的照片。正如另一个答案所说,在UITableView 中重复使用单元格可能是一个解决方案,但我认为,UITableView 用于典型的 iPhone 表,调整和自定义它,如果它的 UITableViewCells 不值得唯一的原因是内存使用。

我会选择UIScrollView,并根据代理的方法加载新内容并删除旧内容。如果你想要一个非分页 UIScrollView ,你应该使用 scrollViewDidScroll ,它经常被触发,所以可能需要另一个优化 - 测试它。寻呼UIScrollView 对我来说似乎更容易。只需对 scrollViewDidEndDecelerating 做出反应即可加载和删除内容。

希望对您有所帮助。

【讨论】:

  • 感谢凯。从用户照片库中获取照片我应该看什么?我需要保存照片,那么我怎么知道哪些照片已经在应用程序中被取回,而不会丢失在用户的个人照片中?
  • @Josh Kahane 使用指向另一个答案的链接编辑了我的答案,以回答您对我的答案的评论中的问题 ;-)。
【解决方案2】:

使用 tableview,它将加载它管理内存,如果你使用 dequecell 方法,jst 可见行将加载到内存中

在此处阅读更多表格视图

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

【讨论】:

  • 很好,但我需要一种保存和获取照片的方法,因为这是我的问题的核心。
猜你喜欢
  • 2017-07-09
  • 2014-11-28
  • 2011-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多