iOS图片下载器

对比了一下SDWebImage,YYImage,AFN等图片下载管理。首先看一看SDWebImage-SDWebImageDownloader的部分源码!


Paste_Image.png

在代码可以看出来,SDWebImageDownloader默认是6个下载并发。
下面再看看YYImage的下载策略吧,


Paste_Image.png

YYImage 自己创建YYWebImageOperation,和AFN3.0之前的版本的网络队列很像。单线程+runloop 完成异步动作,关于runloop的介绍我这里就说了,有需要的可以在网上找别的文章看看吧。
AFN
Paste_Image.png

Paste_Image.png

Paste_Image.png

在上面的几段代码可以知道,AFN默认是4个并发,maximumActiveDownloads=4。和SD、YY不同的地方,AFN使用NSURLSessionDataTask完成网络请求,NSURLSessionDataTask默认是由系统控制并发,在AFN中作了特别的控制,最大并发下载数maximumActiveDownloads=4。而SD和YY都使用NSURLConnection完成网络请求,SD使用NSOperationQueue完成多线程下载,而YY采用单线程+RunLoop。
好了,下次有时间再聊聊缓存管理吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容