ios – 清除本地文件的webviews缓存

ios – 清除本地文件的webviews缓存,第1张

概述我发现了一些类似的帖子,但它们似乎对我正在做的事情没有任何影响.我有一个UIWebView,我用它来显示我的捆绑包中的本地内容.具体来说,我正在显示一个docx文件.用户应该很少看到这个文档,我的应用程序内存很紧,所以我想做的是阻止UIWebView缓存文档.另一个可行的选择是在用户离开视图时清除缓存.每次用户进入视图时,我都必须从头开始加载它. 我这样加载文档: NSString * path 我发现了一些类似的帖子,但它们似乎对我正在做的事情没有任何影响.我有一个UIWebVIEw,我用它来显示我的捆绑包中的本地内容.具体来说,我正在显示一个docx文件.用户应该很少看到这个文档,我的应用程序内存很紧,所以我想做的是阻止UIWebVIEw缓存文档.另一个可行的选择是在用户离开视图时清除缓存.每次用户进入视图时,我都必须从头开始加载它.

我这样加载文档:

Nsstring * path = [[NSBundle mainBundle] pathForResource:[Nsstring stringWithFormat:@"Intro text"] ofType:@"docx"];NSURL * url = [NSURL fileURLWithPath:path];request = [NSURLRequest requestWithURL:url];doc_vIEw_rect = CGRectMake(5,105,self.vIEw.frame.size.wIDth,self.vIEw.frame.size.height);doc_vIEwer = [[UIWebVIEw alloc] initWithFrame:doc_vIEw_rect];[doc_vIEwer loadRequest:request];

在我尝试停止缓存时,我尝试过:

[[NSURLCache sharedURLCache] setMemoryCapacity:0];[[NSURLCache sharedURLCache] setdiskCapacity:0];

和:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];[NSURLCache setSharedURLCache:sharedCache];[sharedCache release];sharedCache = nil;

和:

if(request) {    [[NSURLCache sharedURLCache] removeCachedResponseForRequest:request];}[[NSURLCache sharedURLCache] removeAllCachedResponses];

我也试过设置网络视图缓存策略,但这似乎只是吃了内存,就像我发布webvIEw时,仍然留下了内存.当我重新进入并重新分配时,它没有使用相同的内存.

我不认为这是正确的方向.这些都被标记为阻止网页缓存的方法,但它们似乎对本地文件没有影响.
我真的不确定这个去哪儿.如果有人知道如何强制缓存清除,或者首先阻止缓存,我将非常感谢一些帮助.

解决方法 除了标准的NSURLCache之外,WebKit还维护着自己的缓存.你无法控制它.

实际上,您必须确保您的代码在低内存警告下表现良好,并相信UIWebVIEw也会这样做.

总结

以上是内存溢出为你收集整理的ios – 清除本地文件的webviews缓存全部内容,希望文章能够帮你解决ios – 清除本地文件的webviews缓存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存