SDWebImage源码解析

2019-01-04  本文已影响0人  DevHuangjb

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

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

我们先来看下SDWebImage架构图:


SDWebImageArchitecture.png

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

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

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


SDWebImage_sequence.png

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

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

上一篇 下一篇

猜你喜欢

热点阅读