ios - 在 iOS 中以编程方式清空缓存

标签 ios caching nscache

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

最佳答案

你说的是这个吗?

[[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
}];

关于ios - 在 iOS 中以编程方式清空缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581221/

相关文章:

ios - 静态属性观察者

ios - Google Maps 1.10.1 iOS with cocoapods 给出重复符号错误

ios - presentModalViewController :animated is deprecated

c# - 在 ASP.NET 中使用静态字段来缓存大对象是不好的做法吗?

ios - 在 iOS 上缓存本地创建的图像以便快速重用

ios - 在 iOS 中自定义键盘的正确方法?

caching - 如何防止 Angular 2 站点上的浏览器缓存?

caching - 数据在处理之前是否从 RAM 通过缓存(L3、L2、L1)?

ios - 我可以在 NSCache 中的 setObject 之后立即信任 objectForKey 吗?

ios - UIImageView+AFNetworking 获取URL的UIImage