SDWebImage的特點(diǎn)
SDWebImage是一個(gè)開源的第三方庫,源碼點(diǎn)擊這里,它提供了UIImageView的一個(gè)分類,以支持從遠(yuǎn)程服務(wù)器下載并緩存圖片的功能扣讼。它有以下功能:
1、提供UIImageView的一個(gè)分類缨叫,以支持網(wǎng)絡(luò)圖片的加載與緩存管理
2椭符、一個(gè)異步的圖片加載器
3、一個(gè)異步的內(nèi)存+磁盤圖片緩存
4弯汰、支持GIF圖片
5艰山、支持WebP圖片
6、后臺(tái)圖片解壓縮處理
7咏闪、確保同一個(gè)URL的圖片不被下載多次
8曙搬、確保虛假的URL不會(huì)被反復(fù)加載
9、確保下載及緩存時(shí),主線程不被阻塞
SDWebImage的工作流程
添加流程圖
從上面的流程圖可以看出纵装,SDWebImage的大部分工作是由緩存對(duì)象<strong>SDImageCache</strong>和異步下載器對(duì)象<strong>SDWebImageManager</strong>來完成的.接下來幾小節(jié)征讲,我們主要從緩存對(duì)象、異步下載器和SDWebImage管理器<strong>SDWebImageManager</strong>的源碼實(shí)現(xiàn)來講解一下SDWebImage的具體實(shí)現(xiàn)橡娄。