美文网首页程序员
SDWebImage源码逻辑分析

SDWebImage源码逻辑分析

作者: 奉灬孝 | 来源:发表于2020-04-18 00:04 被阅读0次

1.先判断当前控件有无正在下载的任务,如果有,取消,进行现在的下载任务
2.查找缓存,优先命中缓存原则,先从缓存加载,加载顺序:内存缓存->磁盘缓存(最后也会加载到内存缓存中)
3.如果缓存没有命中,就会启动下载逻辑,进行下载逻辑的调度任务,该任务需提供接口来取消下载任务,因为operation有且只有一个任务在执行。(不能取消已调度的任务,只能取消未调度的任务)

缓存逻辑: SDWebImgCache继承了NSCache,在使用NSCache的过程 当中(数据结构存储了一份缓存),之后自己(SDWebImgCache)又存储了一份缓存:可以理解为增加缓存命中率
收到内存警告的时候,系统把NSCache缓存干掉了,这种情况可以通过SDWebImgCache中重新加载

NSCache线程安全:
1.自定义淘汰策略(双向链表是实现的)
2.key:strong
3.重写了哈希、isEqualTo (key: NSCacheKey,Entry: XXXX)
YYCache:缓存淘汰是可控的,最近最少使用淘汰缓存 LRU (也是双向链表实现的)

相关文章

  • SDWebImage源码逻辑分析

    1.先判断当前控件有无正在下载的任务,如果有,取消,进行现在的下载任务2.查找缓存,优先命中缓存原则,先从缓存加载...

  • SDWebImage 源码分析

    SDWebImage 源码分析 首先我 fork 了 SDWebImage 的源码,见 conintet/SDWe...

  • SDWebImage源码分析

    SDWebImage源码分析 UIImageView+WebCache sd SDWebImageManager ...

  • SDWebImage使用

    SDWebImage的使用 SDWebImage的所有的下载策略 SDWebImage实现逻辑分析 总结一下: 主...

  • 《重读SDWebImage》-Cache部分

    最近终于有些时间重读SD的源码了,本篇文章侧重分析SDWebImage缓存部分逻辑,以及其中的一些细节。 一.SD...

  • 读SDWebImage源码记录(一)

    断断续续看了SDWebImage的源码,下面按照当初阅读思路,写写SDWebImage中的一些实现逻辑以及基础技术...

  • SDWebImage源码分析

    技术无极限,从菜鸟开始,从源码开始。 由于公司目前项目还是用OC写的项目,没有升级swift 所以暂时SDWebI...

  • SDWebImage源码分析

    SDWebImage介绍 UIView+WebCache类别: 所有设置图片的方法内部都会且仅调用此方法 UIVi...

  • SDWebImage源码分析

    SDWebImage是专门用于图片下载的框架,内部封装了图片异步下载和缓存的过程,涉及到的知识点有:(1)runt...

  • SDWebImage源码分析

    SDWebImage库是一个支持缓存的异步图片下载库。为了方便使用,它提供了UIImageView, UIButt...

网友评论

    本文标题:SDWebImage源码逻辑分析

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