我有一个UIWebView对象,与高速缓存策略指定为:NSURLRequestReloadIgnoringLocalCacheDataUIWebView的NSURLRequestReloadIgnoringLocalCacheData实际上并没有忽略缓存
这应该忽略任何对象都在本地缓存和检索最新版本的网站网络。
但是,在第一次加载站点(跟踪中的10个资源,HTTP GET)之后,站点的所有后续加载仅检索一小部分资源(跟踪中的三个资源HTTP GET)。这些图像全部显示为从本地源加载。
我已确认我的sharedURLCache具有0字节的内存使用情况和0字节的磁盘使用情况。每当过程重新开始时,网站的完整版本将再次被检索。这导致我相信这些资源被存储在内存中的缓存中,但正如我之前提到的,[[NSURLCache sharedURLCache] currentMemoryUsage]返回0.
我也尝试明确删除缓存的响应为我的请求,但这似乎没有效果。是什么赋予了?
编辑: 此外,NSHTTPCookieStorage在每次加载之前都被清除,并且我可以确认后续加载现在检索四个资源而不是三个。无论更改如何,缓存问题都会持续存在。
您能解决问题吗?我尝试了SO和其他地方提到的所有解决方案,但无法完成此项任务。此外,一些应用程序似乎这样做,成功地说iOS的httpwatch。 – Ravi 2013-11-18 16:46:41
使用[[NSURLCache sharedURLCache] removeAllCachedResponses];似乎解决了缓存问题,但通过iOS 7.0更新,此方法导致[NSURLCache sharedURLCache]对象在其malloc/delete堆栈中崩溃。 – dodeskjeggen 2013-11-20 14:45:33