美文网首页
SDWebImage的内部实现机制(三级缓存)

SDWebImage的内部实现机制(三级缓存)

作者: 奕十八 | 来源:发表于2016-08-26 12:13 被阅读248次

SDWebImage的内部实现机制(三级缓存)

  • 首先会去内存缓存中取,如果内存缓存中存在,就取出来直接设置
  • 如果内存缓存中没有,就去磁盘缓存里取,如果磁盘缓存里有,就取出来设置,并且保存一份到内存缓存中
  • 如果内存缓存和磁盘缓存中都没有,说明所有缓存都不存在该图片,这时候就需要去下载
  • 下载之前会先查看这时候有没有此图片的下载的操作,如果有就等待下载完毕,如果没有就需要下载
  • ,由于下载图片属于耗时操作,因此会开启子线程来下载,在图片下载完成显示之前会显示一张占位图片
  • 在图片下载完成之后会显示图片,并且将下载的图片分别保存到内存缓存和磁盘缓存中去
  • SDImageCache在初始化的时候会注册一些消息通知,在收到内存警告或者退到后台的时候清理内存图片缓存,应用结束的时候清理过期的图片

相关文章

网友评论

      本文标题:SDWebImage的内部实现机制(三级缓存)

      本文链接:https://www.haomeiwen.com/subject/hnfzsttx.html