Memory 取消模式视图后清除UIWebView内容(iPhone OS 3.0)
我当前有一个UIWebView,它显示在模式视图中。它基本上是一个细节视图,在用户单击链接时提供页面视图。当视图被取消,然后再次打开时(当用户单击另一个链接时),以前加载的内容仍然可见,新内容加载到最后一个内容的“顶部”。这是有意义的,因为UIWebView的实例在会话之间持续存在,并且仅在需要内存时才会释放 但是,我希望在模式视图被取消时完全清除UIWebView,以便1)清除内容,2)释放内存。到目前为止,我的研究和尝试还没有找到答案。这些链接对我不起作用:Memory 取消模式视图后清除UIWebView内容(iPhone OS 3.0),memory,iphone-sdk-3.0,uiwebview,modalviewcontroller,Memory,Iphone Sdk 3.0,Uiwebview,Modalviewcontroller,我当前有一个UIWebView,它显示在模式视图中。它基本上是一个细节视图,在用户单击链接时提供页面视图。当视图被取消,然后再次打开时(当用户单击另一个链接时),以前加载的内容仍然可见,新内容加载到最后一个内容的“顶部”。这是有意义的,因为UIWebView的实例在会话之间持续存在,并且仅在需要内存时才会释放 但是,我希望在模式视图被取消时完全清除UIWebView,以便1)清除内容,2)释放内存。到目前为止,我的研究和尝试还没有找到答案。这些链接对我不起作用: 我尝试了[[NSURLCac
我尝试了
[[NSURLCache sharedullcache]removeAllCachedResponses]
并将webView设置为零,然后在模式视图关闭时手动释放webView,但无效。干瘪的大众有什么想法吗?发布web视图可能是最好的方法。如果视图位于视图层次结构中(具有superview),则必须调用removeFromSuperview以获取superview以释放视图
您还可以为空文档加载html字符串:
[webView loadHTMLString:@"<html><head></head><body></body></html>" baseURL:nil];
[webView loadHTMLString:@”“baseURL:nil];
有时加载HTMLSTRING
太慢。您还可以使用:
[webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML = \"\";"];
我不确定这是否会释放大量内存,尽管…在某些情况下,drawnonward和rob建议的方法可能不起作用(可能与正在清除的页面上的CSS有关),但这确实起作用:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
在我的例子中,我需要立即清除web视图中的内容,并能够立即开始加载其他内容。加载空文档HTML字符串或使用JavaScript清除页面都不会产生预期效果。相反,我使用了:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://stackoverflow.com"]]];
这将视图清除为默认背景,并按预期启动下一页的加载
我希望这对其他人也有帮助。评估javascript通常比加载新请求更快
[webview stringByEvaluatingJavaScriptFromString:@"document.open();document.close();"];
我倾向于以下几点:
[m_webView stringByEvaluatingJavaScriptFromString:@"location.replace('about:blank')"]
完美的可能是可视化清除webview的最简单解决方案。还是不明白为什么loadHTMLString这么慢。可能是因为我正在直接加载另一个页面,当webview开始加载新页面时,它会停止加载和显示空页面。这是最好的解决方案。不知道为什么这不是最好的投票答案。无论如何,回答得很好!!此方法最好的一点是不会调用委托方法webViewDidFinishLoad!顺便说一句,这不会清除pdf格式的内容,有什么想法吗?哇,你解决了我的问题!!!javascript解决方案比加载零字符串解决方案快50%!。。。非常感谢你!你为什么喜欢它?这是我见过的最好的答案。