SDWebImage中UIImageView调用sd_setImageWithURL过程

最近都在研究SDWebImage,也想看看实现,在这边就总结一下关于调用sd_setImageWithURL过程,我觉得在github上面的官网的时序图是要看的,虽然过程有所简化,但其实还是有学习的地方。

下面就用代码图片来描述这整个过程


已经进入到了UIView的分类中了


之后就是先去查缓存


再进入queryCacheOperationForKey方法中进行查询

然后在load方法里面调用了SDWebImageDownloader类中的downloadImageWithURL方法

之后就是设置一些属性,然后返回operation


最后返回的是SDWebImageDownloadToken类型

然后之后如果下载好的再去返回downloadImage。


最后再提一下是什么时候下载的

是在SDWebImagDownloader中的downloadImageWithURL方法中


然后进入下面的函数中

- (nullable SDWebImageDownloadToken *)addProgressCallback:(SDWebImageDownloaderProgressBlock)progressBlock
                                           completedBlock:(SDWebImageDownloaderCompletedBlock)completedBlock
                                                   forURL:(nullable NSURL *)url
                                           createCallback:(SDWebImageDownloaderOperation *(^)(void))createCallback {
将operation添加进队列中,就会去自动的执行start方法

而我们自定义的SDWebImageDownloadOperation的下载方法就是在start方法中调用的


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值