非常非常喜欢SDWebImage,就算后来AF也做了图片缓存,我也还是一直使用。图片缓存真的是一件令人头疼的事,但是SDWebImage封装了一切,你所需要的只是简单的set一个URL;
1、设置一个展位图(可选择);
2、根据URL去内存中找,找到返回图片
3、内存找不到,硬盘找,找到返回图片,内存做备份
4、硬盘还找不到,去下载,返回图片,并进行存储(硬盘,内存)。
其中有几点技术细节比较重要,
1、图片在内存中是key-value的方式。
2、在硬盘中是data的方式,imageWithData方法获取。
3、key-value方式是url的MD5。
4、注册内存和硬盘通知,如果很吃紧,就删除部分。
很多技术细节,要看源码。