SDWebImage的特點
SDWebImage是一個開源的第三方庫,源碼點擊這里,它提供了UIImageView的一個分類,以支持從遠程服務器下載并緩存圖片的功能。它有以下功能:
1、提供UIImageView的一個分類,以支持網絡圖片的加載與緩存管理
2、一個異步的圖片加載器
3、一個異步的內存+磁盤圖片緩存
4、支持GIF圖片
5、支持WebP圖片
6、后臺圖片解壓縮處理
7、確保同一個URL的圖片不被下載多次
8、確保虛假的URL不會被反復加載
9、確保下載及緩存時,主線程不被阻塞
SDWebImage的工作流程
添加流程圖
從上面的流程圖可以看出,SDWebImage的大部分工作是由緩存對象<strong>SDImageCache</strong>和異步下載器對象<strong>SDWebImageManager</strong>來完成的.接下來幾小節,我們主要從緩存對象、異步下載器和SDWebImage管理器<strong>SDWebImageManager</strong>的源碼實現來講解一下SDWebImage的具體實現。