該文章閱讀的SDWebImage的版本為4.3.3。
這個類是圖片快取的配置類,儲存圖片快取的配置或選項。
1.屬性
/**
是否解壓
預設是YES,解壓可以提高效能,但會佔用大量記憶體;如果由於記憶體消耗過多而導致崩潰,就設定為NO。
*/
@property (assign, nonatomic) BOOL shouldDecompressImages;
複製程式碼
/**
是否禁用iCloud備份
預設是YES
*/
@property (assign, nonatomic) BOOL shouldDisableiCloud;
複製程式碼
/**
是否使用記憶體快取
預設是YES
*/
@property (assign, nonatomic) BOOL shouldCacheImagesInMemory;
複製程式碼
/**
從磁碟讀取快取時的讀取選項
預設為0,但是可以設定為“NSDataReadingMappedIfSafe”以提高效能
*/
@property (assign, nonatomic) NSDataReadingOptions diskCacheReadingOptions;
複製程式碼
/**
將快取寫入磁碟時的寫入選項
預設為`NSDataWritingAtomic`,但是可以設定為“NSDataWritingWithoutOverwriting”以防止覆蓋現有檔案
*/
@property (assign, nonatomic) NSDataWritingOptions diskCacheWritingOptions;
複製程式碼
/**
在快取中保留影像的最長時間,以秒為單位
*/
@property (assign, nonatomic) NSInteger maxCacheAge;
複製程式碼
/**
最大快取大小,以位元組為單位
*/
@property (assign, nonatomic) NSUInteger maxCacheSize;
複製程式碼
2.私有靜態變數
/**
定義了預設最長快取時間,一個周
*/
static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7;
複製程式碼
3.方法
- (instancetype)init {
if (self = [super init]) {
// 在初始化方法中設定屬性的值
_shouldDecompressImages = YES;
_shouldDisableiCloud = YES;
_shouldCacheImagesInMemory = YES;
_diskCacheReadingOptions = 0;
_diskCacheWritingOptions = NSDataWritingAtomic;
_maxCacheAge = kDefaultCacheMaxCacheAge;
_maxCacheSize = 0;
}
return self;
}
複製程式碼
原始碼閱讀系列:SDWebImage
原始碼閱讀:SDWebImage(二)——SDWebImageCompat
原始碼閱讀:SDWebImage(三)——NSData+ImageContentType
原始碼閱讀:SDWebImage(四)——SDWebImageCoder
原始碼閱讀:SDWebImage(五)——SDWebImageFrame
原始碼閱讀:SDWebImage(六)——SDWebImageCoderHelper
原始碼閱讀:SDWebImage(七)——SDWebImageImageIOCoder
原始碼閱讀:SDWebImage(八)——SDWebImageGIFCoder
原始碼閱讀:SDWebImage(九)——SDWebImageCodersManager
原始碼閱讀:SDWebImage(十)——SDImageCacheConfig
原始碼閱讀:SDWebImage(十一)——SDImageCache
原始碼閱讀:SDWebImage(十二)——SDWebImageDownloaderOperation
原始碼閱讀:SDWebImage(十三)——SDWebImageDownloader
原始碼閱讀:SDWebImage(十四)——SDWebImageManager
原始碼閱讀:SDWebImage(十五)——SDWebImagePrefetcher
原始碼閱讀:SDWebImage(十六)——SDWebImageTransition
原始碼閱讀:SDWebImage(十七)——UIView+WebCacheOperation
原始碼閱讀:SDWebImage(十八)——UIView+WebCache
原始碼閱讀:SDWebImage(十九)——UIImage+ForceDecode/UIImage+GIF/UIImage+MultiFormat
原始碼閱讀:SDWebImage(二十)——UIButton+WebCache
原始碼閱讀:SDWebImage(二十一)——UIImageView+WebCache/UIImageView+HighlightedWebCache