繁体   English   中英

如何限制NSURLCache磁盘大小

[英]How to limit NSURLCache disk size

我有一个使用UIWebView来浏览网站的应用程序,一段时间后,我注意到该设备的缓存大小太大,对于某些设备,它可能达到多个Gaga字节

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

我主要认为问题是在浏览网站时发生的,该网站将缓存策略设置为具有max-age期限的请求,例如h&m网站的项目图像具有max-age=31536000期限max-age=31536000

我使用的是默认的NSURLCache没有进行任何修改,但是当我尝试按此处提到的那样限制桌面容量时,它并没有阻止缓存大小超出限制

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

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

请注意,与使用NSURLCache.sharedURLCache().removeAllCachedResponses()清除所有缓存相比,我正在寻找一种更优化的解决方案NSURLCache.sharedURLCache().removeAllCachedResponses()

我们有完全一样的问题。 该应用程序的内存使用量从100Mb增加到500Mb。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM