源码阅读:SDWebImage(十)——SDImageCacheConfig

941 阅读2分钟

该文章阅读的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(一)——从使用入手

源码阅读: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