在看 SDImageCache 类之前,先分析一下 SDImageCacheConfig 类,它是用来管理缓存配置信息的。
#import "SDImageCacheConfig.h"
//缓存7天
static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week
@implementation SDImageCacheConfig
- (instancetype)init {
if (self = [super init]) {
_shouldDecompressImages = YES;
_shouldDisableiCloud = YES;
_shouldCacheImagesInMemory = YES;
_diskCacheReadingOptions = 0;
_maxCacheAge = kDefaultCacheMaxCacheAge;
_maxCacheSize = 0;
}
return self;
}
@end
解压缩图像下载和缓存可以提高性能,但是会消耗大量内存, 默认是YES ,如果因为消耗内存过大而崩溃,可以置为NO。
shouldDecompressImages 是否解压图像,默认是 YES
shouldDisableiCloud 是否禁用 iCloud 备份,默认是 YES
shouldCacheImagesInMemory 是否缓存到内存中,默认是YES
maxCacheAge 在缓存中图像保存时间的最大长度,以秒为单位 默认是一周时间
maxCacheSize 缓存的最大大小,以字节为单位