有没有人巧合地知道如何清空我正在开发的iOS应用程序的缓存内存,在它进入后台的那一刻(applicationDidEnterBackground)?我已经调查了NSCache但我仍然无法理解如何检索缓存以基本上删除/释放它?
答案 0 :(得分:4)
这就是你在谈论的吗?
[[NSURLCache sharedURLCache] removeAllCachedResponses];
您还可以修改请求的缓存行为,以选择性地缓存响应。如果您偶然使用AFNetworking
,则可以使用setCacheResponseBlock
。例如。在一个项目中,我将其设置为返回nil
所有大型视频和音频文件。但允许它缓存较小的图像文件。
[streamingOperation setCacheResponseBlock:^NSCachedURLResponse *(NSURLConnection *connection, NSCachedURLResponse *cachedResponse) {
return nil; // Ensures we are not unecessarily caching asset data to Cache.db
}];