我正在开发一个iOS应用程序,它大量使用多个UIWebViews。所有请求都是从应用程序包中的本地html文件加载的。我在这里找到了尝试防止内存泄漏的令人敬畏的技巧:http://www.codercowboy.com/code-uiwebview-memory-leak-prevention
我要做的是创建一个Factory类,它包含3个UIWebView实例的池,每当请求UIWebView时,它都应该从该池请求一个实例。所以我永远不会释放WebView,除非我遇到内存警告,如果需要我可以解除分配WebViews。
这是我到目前为止所想到的,我正在寻找有关我的建议的任何额外提示或评论。
在这里感谢任何输入!
谢谢, Fergal。
答案 0 :(得分:1)
不是使用loadHTMLFromString或loadRequest重新加载内容,而是继续使用stringByEvaluatingJavascriptFromString来设置具有所需内容的特定ID的部分的innerHTML,所有内容都通过javascript,不会占用大量内存
答案 1 :(得分:0)
尝试使用分页网页,您可以使用NSURLProtocol缓存页面数据。
它会将页面和缓存加载到磁盘上,因此向后导航将来自缓存,只有1页将位于正在查看的内存中。
最好用UIWebView做,或者你可以选择MKWebView,它可以让你有更多的功能。