我的应用程序在tableView单元格中显示图像我想要实现的是按顺序加载图像,即使单元格已从屏幕上消失。例如,我有单元格1到100,显示单元格,即使用户已经滚动到单元格78,图像也开始在后台从1到100下载。我还想只下载一到两个一次成像,所以我不会弄乱网络。考虑到这些标准,我想知道哪种设置最合适?
目前,我正在使用AlamoFire下载图片。 Alamofire和某种NSOperationQueue的组合是否合适。在这个阶段我对NSOperationQueue非常不熟悉。所以我想在开始深入设置NSOperationQueue之前,我会尝试找一个推荐的行业实践
即使应用程序处于后台,我也希望将功能组合起来继续下载
请注意。也欢迎任何替代的库或框架解决方案
答案 0 :(得分:0)
最佳解决方案是SDWebImage
。该存储库的链接是here。
如果你想以自己的方式做而没有任何依赖,那么你必须遵循SDWebImage所做的相同事情。
简而言之,
NSCache
来存储图像并使用
imageURL作为关键。NSCache
后,还要将图像写入NSCacheDirectory
,图像名称与其网址相同。现在,在提取时,您必须检查NSCache
中是否存在图像,使用imageURL作为关键字,您可以轻松搜索该图像。如果找到,则返回图像,然后搜索NSCacheDirectory
,无论图像是否存在。如果没有,那么您必须下载图像并再次按照步骤操作。
现在NSCache
就像RAM一样。只要应用程序处于活动状态,存储在那里的数据就会保留在那里。终止后,NSCache
中的数据将被清除。
因此,我们还在NSCacheDirectory
中编写文件,因为只要应用程序未从设备中删除,此处的数据就会持续存在。
我希望我能让你理解这件事是如何运作的。 欢呼声。