在我的应用程序中,我有一些地方可以让用户拍照并将其放入列表中,从技术上讲,用户可以永远继续添加照片。
那么保存、存储和加载用户拍摄的照片的最佳方式是什么?考虑到,可能有数百个。此外,一次加载它们可能也不是一个聪明的主意,但是说有一个滚动视图,向下滚动,当到达底部时,它可以再加载 20 个,然后再加载 20 个,等等。
任何帮助,非常感谢,谢谢。
在我的应用程序中,我有一些地方可以让用户拍照并将其放入列表中,从技术上讲,用户可以永远继续添加照片。
那么保存、存储和加载用户拍摄的照片的最佳方式是什么?考虑到,可能有数百个。此外,一次加载它们可能也不是一个聪明的主意,但是说有一个滚动视图,向下滚动,当到达底部时,它可以再加载 20 个,然后再加载 20 个,等等。
任何帮助,非常感谢,谢谢。
只需决定您要存储照片的位置、内置照片库或应用程序文档文件夹或两者兼而有之(为了方便用户观看、删除、同步等,我会选择照片库)。如果你选择文件夹,别忘了支持删除...磁盘空间是用户的问题。
如果您选择仅存储在照片库中并希望稍后从应用程序中访问照片,则必须保存已保存图像的 url。这个答案告诉你它是如何工作的。
在滚动视图中加载照片需要一些优化,即在内存中加载所有照片不是一个好主意,而只加载可见的照片。正如另一个答案所说,重新使用单元格UITableView
可能是一个解决方案,但我认为,UITableView
对于典型的 iPhone 表,调整和自定义它UITableViewCells
是不值得的,如果唯一的原因是内存使用。
我会继续UIScrollView
对代理的方法做出反应,以加载新内容并删除旧内容。如果你想要一个非分页UIScrollView
,你应该使用scrollViewDidScroll
它,它经常被触发,所以可能需要另一个优化 - 测试它。寻呼UIScrollView
对我来说似乎更容易。只需对scrollViewDidEndDecelerating
加载和删除内容做出反应。
希望有帮助。
使用tableview,如果你使用dequecell方法,它将加载它管理内存和jst可见行加载到内存中
在这里阅读更多表格视图