美文网首页
SDWebImage源码解析

SDWebImage源码解析

作者: DevHuangjb | 来源:发表于2019-01-04 18:16 被阅读0次

要想成为优秀,要先模仿优秀,书法如此,代码也如此。
我们总可以在阅读优秀源码有所收获,你会发现,原来,代码可以这么写!

接触iOS开发的同学都接触过这个框架。SDWebImage作者精简的接口设计极大的简化了我们开发中有关图片的需求场景。正因为这样,不少开发者对SDWebImage仅仅停留在使用上面,而没有去剖析框架。

我们先来看下SDWebImage架构图:


SDWebImageArchitecture.png

从框架图可以看出主要包括:

  • 核心类: SDWebImageManager
  • 图片下载:SDWebImageDownloader
  • 图片缓存:SdImageCache
  • UIKit拓展分类:UIView,UIImageView,UIButton等分类
  • 图片编解码类:SDWebImageCodersManager
  • 其他辅助类

从功能上来看,各个类的职责都很清晰。

下面来看一下SDWebImage工作的时序图:


SDWebImage_sequence.png

主业务线:UIImageView通过调用UIView:sd_internalSetImageWithURL;然后调用SDWebImageManager:loadImageWithUrl;SDWebImageManager去查询SdImageCache是否有图片,如果有直接返回图片,如果没有调用SDWebImageDownloader下载图片;SDWebImageDownloader下载完图片会调用SDImageCache对图片进行缓存。

具体的细节后面将会在各个模块的专题中解析。

相关文章

  • SDWebImage

    1.SDWebImage源码解析(1)——总体架构,Cache读取2.SDWebImage源码解析(2)——ima...

  • SDWebImage源码解析(三)

    在前面的SDWebImage源码解析(一)和SDWebImage源码解析(二)中,解析了开源异步图片下载库SDWe...

  • SDWebImage源码解析(二)

    在SDWebImage源码解析(一)中,我从宏观上介绍了SDWebImage项目,并详细介绍了UIImageVie...

  • SDWebImage源码解析<二>

    前言 我们在第一篇文章《SDWebImage源码解析<一>》已经了解到SDWebImage是通过 SDWebIma...

  • SDWebImage源码解析

    SDWebImage是一个开源的第三方库,支持从远程服务器下载并缓存图片的功能。它具有以下功能: 提供UIImag...

  • SDWebImage源码解析

    概览 说到 iOS界的图片加载库,SDWebImage可谓无人不知,其简介的接口以及异步下载与缓存的强大功能,深受...

  • SDWebImage源码解析

    经历了春招失败的我,认识到自己的许多不足。现在终于决定静下心来,慢慢的补充自己知识的薄弱点,备战秋招。这也是我的第...

  • SDWebImage源码解析

    SDWebImage提供了简洁的对外接口,用户只需要调用- (void)sd_setImageWithURL:(n...

  • SDWebImage源码解析

    概述 SDWebImage是一个强大的图片下载框架,利用异步加载和内存+磁盘两级缓存处理,高效优雅的解决了图片下载...

  • SDWebImage 源码解析

    本文基于SDWebImage 4.0分析 SDWebImage 是一个支持异步下载加二级缓存的UIImageVie...

网友评论

      本文标题:SDWebImage源码解析

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