一、SDWebImage 实现原理:
1、首先让占位图先显示。
2、SDWebImageManage交给 SDImageCache 先从内存中查找是否有图片,会以URL作为数据的索引在内存中查找是否有对应的缓存。
3、如果有缓存,通过代理进行回调展示图片。
4、如果内存缓存中没有找到,生成 NSInvocationOperation 添加到队列,会通过MD5处理过的key来硬盘中查询是否有图片。
5、如果找到了,就把硬盘中的数据加载到内存中并显示。
6、如果没有找到,会生成一个下载器向远程服务器发出请求开始下载图片。
7、图片下载由NSURLConnection 来做,实现相关delegate来判断图片下载中、下载完成和下载失败。
8、下载后的图片会被保存到内存和硬盘。
9、进行界面展示。
网友评论