美文网首页
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