SDK 与源码理解
SDWebImage

SDWebImage

SDWebImage 的实现原理?(加载图片过程)

  1. 首先显示占位图
  2. 在 webimagecache 中寻找图片对应的缓存,它是以 url 为数据索引先在内存中查找是否有缓存;
  3. 如果没有缓存,就通过 md5 处理过的 key 来在磁盘中查找对应的数据,如果找到就会把磁盘中的数据加到内存中,并显示出来;
  4. 如果内存和磁盘中都没有找到,就会向远程服务器发送请求,开始下载图片;
  5. 下载完的图片加入缓存中,并写入到磁盘中;
  6. 整个获取图片的过程是在子线程中进行,在主线程中显示。