我在我的应用中使用SDWebImage
来加载和缓存来自网络的图片。它就像一个魅力,但唯一的问题是每当我退出我的应用程序时,即使是暂时的,图像缓存也会被清除,所有图像都必须再次下载。当Internet连接缓慢时,这尤其成问题。我想在返回应用程序时保留图像。有谁知道如何实现这个目标?
答案 0 :(得分:2)
转到SDImageCache.m并查找方法 - (id)initWithNamespace:(NSString *)ns 你会在那里找到这样的代码:
// Subscribe to app events
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(clearMemory)
name:UIApplicationDidReceiveMemoryWarningNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cleanDisk)
name:UIApplicationWillTerminateNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(backgroundCleanDisk)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
如果您愿意,可以随意发表评论或更改任何内容。我可以选择关闭这些代码行。
答案 1 :(得分:1)
请确保您未设置maxCacheSize
的{{1}},如果在应用转到后台时设置了它,则会清除缓存文件以适合[SDImageCache sharedImageCache]
。
在maxCacheSize
方法中,您可以看到在删除文件之前进行检查
cleanDisk
所以如果没有设置if (self.maxCacheSize > 0 && currentCacheSize > self.maxCacheSize)
{
// ...
}
,它将什么都不做。