文章目录
引言
SDWebImage是如何实现内存缓存的?
LRU是Least Recently Used的缩写,即最近最少使用页面置换算,基于 HashMap 和 双向链表实现 。
- 先搜索内存缓存,内存缓存使用 NSCache实现。
- 再搜索磁盘缓存
- 如果磁盘缓存中存在,将缓存图片放入内存缓存,并返回它
- 如果磁盘缓存中不存在,根据图片的 url 获取图片的 data
I 自定义NSOperation实现图片下载
- cell的图片下载,防止图片重复下载
使用字典数组存储下载图片的operation操作,保证一个URL对应一个操作。
/**
使用字段数组存储下载图片的operation操作,保证一个URL对应一个操作
*/
@property (nonatomic