NSString應該用strong還是weak,SDWebIamge原理以及相關問題
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原理以及相關問題