[英]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.