1. 程式人生 > >NSString應該用strong還是weak,SDWebIamge原理以及相關問題

NSString應該用strong還是weak,SDWebIamge原理以及相關問題

圖片文件 規則 tope url 時間 找到 count load pos

1.對於NSString來說,strong和weak的作用是一樣的,都是增加了字符串對象的引用計數,並不會產生新的對象。

2.對於NSMutableString來說,strong只是增加了對象的引用計數,而copy則會深拷貝出一個新的對象。

3.NSMutableString是NSString的子類,所以一個NSString指針可以指向NSMutableString對象

3.一般來說,我們使用NSString時是不希望這個對象改變的,所以使用copy,以避免可變字符串的修改導致的一些非預期問題。

1.SDWebImage下載圖片會先根據下載URL去內存緩中找圖片,找到就返回圖片

2.內存緩存找不到,就去硬盤緩存中找,找到就返回圖片

3.硬盤緩存找不到,就去下載的operation中找,找到的話等待下載完成,進行硬盤緩存和內存緩存,返回圖片

4.下載的opareation找不到,就創建一個下載的operation,重讀第三步。

SDWebImage的最大並發數是多少?

_downloadQueue.maxConcurrentOperationCount = 6;可以自定義,默認為6

SDWebImages是如何識別圖片類型的?

NSData+ImageContentType.m中,根據圖片文件十六進制數據的第一個字節判斷

SDWebImage 緩存圖片命名規則?

為了防止名稱重復,對其URL進行 md5 運算

默認下載的超時時長是多少?

_downloadTimeout = 15.0;

默認緩存的時間?

一周

SDWebImage用什麽類型緩存圖片?

NSCache

clearDiskOnCompletion//刪除所有緩存文件

deleteOldFilesWithCompletionBlock//刪除已過期的文件

NSString應該用strong還是weak,SDWebIamge原理以及相關問題