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

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

  • 首先会去内存缓存中取,如果内存缓存中存在,就取出来直接设置
  • 如果内存缓存中没有,就去磁盘缓存里取,如果磁盘缓存里有,就取出来设置,并且保存一份到内存缓存中
  • 如果内存缓存和磁盘缓存中都没有,说明所有缓存都不存在该图片,这时候就需要去下载
  • 下载之前会先查看这时候有没有此图片的下载的操作,如果有就等待下载完毕,如果没有就需要下载
  • ,由于下载图片属于耗时操作,因此会开启子线程来下载,在图片下载完成显示之前会显示一张占位图片
  • 在图片下载完成之后会显示图片,并且将下载的图片分别保存到内存缓存和磁盘缓存中去
  • SDImageCache在初始化的时候会注册一些消息通知,在收到内存警告或者退到后台的时候清理内存图片缓存,应用结束的时候清理过期的图片
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容