最近更新私有库SDWebImage,又重读了一遍,所以分享一下
1.核心方法在于SDWebImageManager的loadImageWithURL(无论UI系列,还是下载最终会走到此方法)
内部,进行判断是否有缓存图片,先取缓存,再取硬盘;若无,则进行下载downloadImageWithURL;
创建operation(可以使用自定义的,需要遵守协议),添加进downloadQueue;
下载成功保存起来storeImage,并回调completionBlock;
2.dispatch_group_t,SDWebImageManager通过context进行传递;
3.operation使用NSURLSession实现,并使用后台进程beginBackgroundTaskWithExpirationHandler;
4.证书处理使用session代理方法didReceiveChallenge实现。
网友评论