SDWebImage源碼理解

一、寫在開頭

  • 雖然網(wǎng)上有很多關(guān)于SDWebImage源碼的分析文章,但這些都不是我自己的理解,他們或許能幫助我解決遇到的問題,也可能讓我懈怠,不再去深入探究。SDWebImage源碼理解中是我對(duì)SDWebImage(4.1.2版本)源碼的體會(huì)理解,它并不拘泥于具體的API,而是從我的角度,去理解SDWebImage的源碼設(shè)計(jì)。

  • 由于本人的技術(shù)能力有限,可能會(huì)在理解上有一些錯(cuò)誤,如果大家發(fā)現(xiàn)有問題,歡迎留言,批評(píng)指正。

二、SDWebImage概述

  • 在SDWebImage庫中,主要的類有SDWebImageDecoder(圖片解碼)、SDImageCache(圖片的緩存處理)、SDWebImageDownloader(圖片下載器 )、SDWebImageDownloaderOperation(圖片下載操作)和 SDWebImageManager(SDWebImage的管理類)。

  • SDWebImageManager持有SDWebImageDownloaderSDImageCache單例,負(fù)責(zé)調(diào)度圖片的異步下載、緩存和獲?。?strong>SDWebImageDownloader負(fù)責(zé)異步圖片下載任務(wù)的調(diào)度,它維持了一個(gè)圖片下載隊(duì)列,隊(duì)列中管理若干SDWebImageDownloaderOperation(NSOperation的子類)下載任務(wù),封裝了圖片的下載任務(wù),支持并發(fā)操作;SDImageCache負(fù)責(zé)下載圖片的緩存和讀??;SDWebImageDecoder負(fù)責(zé)圖片的解碼工作;

  • 總之,SDWebImage庫提供了一整完善的機(jī)制,保證網(wǎng)絡(luò)圖片下載和存取。

三、源碼文章

文章從圖片的解碼、緩存、下載三個(gè)角度去理解SDWebImage源碼。

1、圖片的解碼
2、圖片的緩存
  • 具體文章見 篇2:SDWebImage源碼看圖片緩存

  • 建議:在理解了SDWebImage中的圖片緩存后,可以看一下YYCache,了解下如何去設(shè)計(jì)一個(gè)高性能的Cache(后面有時(shí)間也會(huì)介紹)。

3、圖片的下載
  • 具體文章見 篇3:SDWebImage源碼看圖片下載(還在碼字中...)

  • 建議:在理解了SDWebImage中的圖片下載后,可以看一下AFNetworking,了解下最主流的網(wǎng)絡(luò)框架庫如何設(shè)計(jì)(后面有時(shí)間也會(huì)介紹)。

End

  • 我是南華coder,曾經(jīng)夢想寫詩走天涯,而今埋頭苦思忙coder。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容