SDWebImage簡介及使用

1,SD自帶緩存清理,圖片在沙盒超過一星期,會自動清理。
2,SD這個庫比較特殊,他包含了其他的第三方庫,所以clone時需要用到遞歸下載

3,升級這個第三方庫:cd到這個庫的目錄,git pull
4,如何去學習一個第三方庫?
*建立分支。Source Control -> New Branch /  Switch to Branch
*始終保存一份源程序

5,SDWebImage常見問題

1.圖片文件緩存的時間有多長:1
_maxCacheAge
kDefaultCacheMaxCacheAge

2.SDWebImage 的內存緩存是用什麼實現的?
NSCache


3.SDWebImage 的最大併發數是多少?
maxConcurrentDownloads
6是程序固定死了,可以通過屬性進行調整!

4.SDWebImage 支持動圖嗎?GIF
支持
#import<ImageIO/ImageIO.h>
[UIImage animatedImageWithImages:images duration:duration];

5.SDWebImage是如何區分不同格式的圖像的
根據圖像數據第一個字節來判斷的!

PNG
:壓縮比沒有JPG高,但是無損壓縮,解壓縮性能高,蘋果推薦的圖像格式!
JPG
:壓縮比最高的一種圖片格式,有損壓縮!最多使用的場景,照相機!
解壓縮的性能不好!
GIF
:序列楨動圖,特點:只支持256種顏色!最流行的時候在19981999,有專利的!

6.SDWebImage 緩存圖片的名稱是怎麼確定的!

www.baidu.com/logo.png

如果單純使用 文件名保存,重名的機率很高!

使用 MD5 的散列函數!對完整的URL 進行 md5,結果是一個32 個字符長度的字符串!

7.SDWebImage 的內存警告是如何處理的!

利用通知中心觀察

- UIApplicationDidReceiveMemoryWarningNotification
接收到內存警告的通知

執行 clearMemory 方法,清理內存緩存!

- UIApplicationWillTerminateNotification
接收到應用程序將要終止通知

執行 cleanDisk 方法,清理磁盤緩存!

- UIApplicationDidEnterBackgroundNotification
接收到應用程序進入後臺通知

執行 backgroundCleanDisk 方法,後臺清理磁盤!

通過以上退出的通知,能夠保證緩存文件的大小始終在控制範圍之內!


clearDisk
清空磁盤緩存,將所有緩存目錄中的文件,全部刪除!
實際工作,將緩存目錄直接刪除,再次創建一個同名空目錄!


6,最常用的方法


7,SD主體結構示意圖

8,SDImageCache 詳解
*SD的緩存也是用單例來做的,緩存部分做的非常優秀。
*當SD接收到應用程序將要終止的通知,執行cleanDisk方法,清理磁盤緩存


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章