美文网首页
SDWebImage源码分析一之目录解读

SDWebImage源码分析一之目录解读

作者: Queen_BJ | 来源:发表于2020-09-18 15:34 被阅读0次

SDWebImage官方

整体目录结构:

  • SDWebImageCompat
    处理不同平台(iOS、TV、OS、Watch)宏,以及根据文件名@2x、@3x进行图片处理和缩放
  • SDWebImageOperation.h
    添加cancel的delegate
  • SDImageCache
    主要处理缓存逻辑,重点在NSCache(Memory)、Disk读写、清理Old File
    清除缓存步骤:
    1、先清除已超过最大缓存时间的缓存文件
    2、保存缓存文件的大小
    3、判断你的上限,进行第二轮的清除
    4、默认的清除方式,先删除老的,达到期望缓存的大小,最大缓存的一半。
    判断你的上限,进行第二轮的清除
  • Downloader
    1、SDWebImageDownloaderOperation 主要提供下载的Operation操作
    2、SDWebImageDownloader 提供下载管理入口
  • SDWebImageManager
    提供外层管理cache和download入口
  • SDWebImagePrefetcher
    预处理获取Image,主要应用预加载的地方
  • SDWebImageDecoder 图片解码等操作
    为什么要对图片解码,针对是性能优化
    因为我们从url中拉取的图片,一般都是运营配置,基本都不小。
    我们知道图片显示到设备上,是按照RGBA等显示但是PNG和JPEG自身的格式并非RGBA的。这里的解压其实就是创建一个BitmapImage位图,先在非UI线程渲染图片,然后拿到UIImage去显示。

图片加载流程

查询图片缓存(内存缓存和磁盘缓存)如果在缓存中找不到图片,则调起网络接口进行图片下载并返回图片,除此之外,还需将图片保存到内存缓存和磁盘缓存中。

相关文章

网友评论

      本文标题:SDWebImage源码分析一之目录解读

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