如何限制NSURLCache磁盘大小

时间:2017-03-29 12:23:52

标签: ios swift caching uiwebview nsurlcache

我有一个使用UIWebView浏览网站的应用程序,一段时间后我发现设备的缓存大小太大,有些设备可以达到多个Gaga Bytes

我发现以下文件夹AppData/Library/Caches/com.myApp/fsCachedData/随着时间的推移而增长

主要是我认为在浏览网站时会出现问题,该网站会将缓存策略设置为max-age非常大的请求,例如h&m网站的项目图片为max-age=31536000

我正在使用默认的NSURLCache而没有任何修改,但当我尝试将桌面容量限制为上述here时,它并没有阻止缓存大小超出限制

let URLCache = NSURLCache(memoryCapacity: 4 * 1024 * 1024, diskCapacity: 20 * 1024 * 1024, diskPath: nil)
    NSURLCache.setSharedURLCache(URLCache)

知道如何解决此问题并强制系统自动清除所有旧缓存文件?

请注意,我正在搜索比使用NSURLCache.sharedURLCache().removeAllCachedResponses()

清除所有缓存更优化的解决方案

1 个答案:

答案 0 :(得分:0)

我们遇到了完全相同的问题。该应用程序的内存使用量从100Mb上升到500Mb。

解决方法是不使用UIWebview,而仅使用WKWebview。之后,内存使用情况正常