iOS图片下载器

作者: IamOnelong | 来源:发表于2016-04-03 15:38 被阅读2213次

    对比了一下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。
    好了,下次有时间再聊聊缓存管理吧!

    相关文章

      网友评论

        本文标题:iOS图片下载器

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