對比了一下SDWebImage甥捺,YYImage邮绿,AFN等圖片下載管理渠旁。首先看一看SDWebImage-SDWebImageDownloader的部分源碼!
在代碼可以看出來船逮,SDWebImageDownloader默認(rèn)是6個下載并發(fā)顾腊。
下面再看看YYImage的下載策略吧,
YYImage 自己創(chuàng)建YYWebImageOperation挖胃,和AFN3.0之前的版本的網(wǎng)絡(luò)隊列很像杂靶。單線程+runloop 完成異步動作梆惯,關(guān)于runloop的介紹我這里就說了,有需要的可以在網(wǎng)上找別的文章看看吧吗垮。
AFN
在上面的幾段代碼可以知道垛吗,AFN默認(rèn)是4個并發(fā),maximumActiveDownloads=4烁登。和SD怯屉、YY不同的地方,AFN使用NSURLSessionDataTask完成網(wǎng)絡(luò)請求饵沧,NSURLSessionDataTask默認(rèn)是由系統(tǒng)控制并發(fā)锨络,在AFN中作了特別的控制,最大并發(fā)下載數(shù)maximumActiveDownloads=4捷泞。而SD和YY都使用NSURLConnection完成網(wǎng)絡(luò)請求足删,SD使用NSOperationQueue完成多線程下載,而YY采用單線程+RunLoop锁右。
好了失受,下次有時間再聊聊緩存管理吧!