我想限制SDImageCache的内存缓存和磁盘缓存的大小。 下面是我用于下载图像的代码。默认情况下,它会将图像保存在缓存中,并且它存在于沙箱的“库”文件夹中。
我的申请 ID /库/缓存/ com.hackemist.SDWebImageCache.default /
myRootRef.createUser(email, password: pw, withValueCompletionBlock: { error, result in
if error != nil {
print("error creating user")
} else {
let uid = result["uid"] as! String
NSUserDefaults.standardUserDefaults().setValue(uid, forKey: "uid")
//pass the parameters to another function to auth the user
self.authUserWithAuthData( email, password: pw )
}
})
答案 0 :(得分:3)
<强>目标C 强>
// Setting disk cache
[[[SDImageCache sharedImageCache] config] setMaxCacheSize:1000000 * 20]; // 20 MB
// Setting memory cache
[[SDImageCache sharedImageCache] setMaxMemoryCost:15 * 1024 * 1024]; // aprox 15 images (1024 x 1024)
Swift 4
// Setting disk cache
SDImageCache.shared().config.maxCacheSize = 1000000 * 20 // 20 MB
// Setting memory cache
SDImageCache.shared().maxMemoryCost = 15 * 1024 * 1024
答案 1 :(得分:0)
如果您希望限制缓存的最大大小,可以在 SDImageCache.m 中手动执行此操作,并将maxCacheSize
设置为有限的字节数。您可以使用static const NSInteger kDefaultCacheMaxCacheAge = 60 * 60 * 24 * 7; // 1 week
来查看缓存年龄为一周的情况
并对缓存大小做同样的事情。