管理从服务器下载的大量图片
我的一个应用程序需要处理大量的从服务器下载的图片。图片都是通过用户上传得来的。在不同的分类下会显示不同的图片,这些图片每次刷新有一些可能有变动,有一些没有。我用UITableView显示一系列的缩略图,点击进去后显示大图
之前我是用NSCache来处理图片,但是问题是如果用户从后台恢复,图片都不在了,需要重新下载,很不好的用户体验。
我上网搜索了一些方式,不知道像处理此类问题通用的解决方法是什么,就像淘宝,人人,facebook这些
Core Data/ SQLite:
这种方式应该是最理想的情况,即把需要的信息,图片存到Core Data。图片存储到Disk,然后把路径存储到Core Data。这种方式的问题是如果我刷新一个列表,有些是没有变化的,有些是变化的,怎么妥善处理?尤其是如果接下来我要使用分批显示的方式,即先下载前20个,再下载接下来20个,就更不好管理了
NSCachesDirectory:
我后来又想到或许可以用这个来存储图片,通过系统的自动删除机制,免除了我手动管理不用的图片。但是我不清楚在这个文件夹里面的文件什么时候会删除?我不希望是在把所有磁盘都占满之后再删除。而且通过我调查淘宝,有一些内容虽然相同,但是过一段时间后还是要重新下载的,不知道是不是通过这个方式
其他的方式还在调查中,希望大牛可以解答,谢谢