深入分析iOS应用中对于图片缓存的管理和使用

2020-01-15 13:57:07刘景俊

重点 3: 尽可能简单的API
大多数库都做到了这一点。许多库为了隐藏细节内容而提供了UIImageView的分类,并且许多库让抓取一张图片的流程变得尽可能的便利。针对我们经常做的三件事,我们的库选定了三个主要的方法:
快速抓到一张图

复制代码
__weak SGEventCell *me = self;[SGImageCache getImageForURL:event.imageURL thenDo:^(UIImage *image) {    me.imageView.image = image;}];
排队等待一张我们一会才需要的图片
复制代码
[SGImageCache slowGetImageForURL:event.imageURL thenDo:nil];
通知缓存一张急需显示的图已经不需要立刻显示
复制代码
[SGImageCache moveTaskToSlowQueueForURL:event.imageURL];

 

结论

通过专注于预取,队列管理,从主线程移除耗时的任务,并且依赖于UIImage内置的内存缓存,我们努力从一个简单的软件包中得到好的结果。



注:相关教程知识阅读请移步到IOS开发频道。