6

有没有人碰巧知道如何在我正在开发的 iOS 应用程序进入后台(applicationDidEnterBackground)的那一刻清空它的缓存?我已经调查了 NSCache 但我仍然无法理解如何检索缓存以基本上删除/释放它?

4

1 回答 1

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
}];
于 2013-07-10T21:35:13.343 回答