UIWebView内存问题
来源:互联网 发布:冰球规则知乎 编辑:程序博客网 时间:2024/05/16 18:28
最近做的demo,设计到电子书展示的部分,我的电子书是epub3.0的模式,设计到html的加载,由于3.0后html中可以加载很多资源,致使一个html网页非常的大。我的一个webView的高度最高可以有16000多像素,我的demo是两个webView循环加载。致使内存占有量很大。运行时发现总是内存不足而崩溃。在网上搜索的很久,发现webView的加载的数据是无法被真正释放的,也就是说当webView调用release时,内存其实没有被释放掉。
现在大家比较管用的方法是在 - (void)applicationDidReceiveMemoryWarning:(UIApplication*)application;
这个方法中添加 [[NSURLCache sharedURLCache] removeAllCachedResponses]; 对缓存进行清除,
并在释放webView时填下如下的代码:
_webView.delegate = nil;
[_webView loadHTMLString:@"" baseURL:nil];
[_webView stopLoading];
[_webView removeFromSuperview];
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[_webView release];
但是效果甚微。
我从一篇技术博客上看到,在调用JS代码时,会出现一个内存泄露,会将WebKitCacheModelPreferenceKey这个属性置成1;
我的demo中通过JS实现很多OC 和HTML的双向交互,所以JS调用很频繁。
所以要在JS调用结束后 调用,
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
这个方法。
- UIWebView内存相关问题
- UIWebView内存问题
- 05 - UIWebView 内存泄漏问题
- UIWebView使用中的内存相关问题
- UIWebView使用中的内存相关问题
- (问题)如何彻底清除UIWebView的内存消耗
- UIWebView使用时内存溢出等相关问题
- 关于IOS UIWebView内存消耗过高的问题
- UIWebView使用中的内存相关问题---强烈推荐使用WKWebView
- UIWebView的内存泄露
- iOS UIWebView 内存泄露
- UIWebview 多线程 内存泄漏
- UIWebView禁用内存缓存
- UIWebView的高度问题
- UIWebview 地理位置定位问题
- UIWebView的换行问题
- UIWebView内存泄漏解决办法(一)
- UIWebView内存泄漏解决办法(二)
- Java 网络:InetAddress类的应用以及通过Socket实现TCP编程
- 解决composer 下载错误
- Thai language
- LeetCode Everyday-- 94,144,145递归解法
- 浏览器中的开发人员工具(IE9的F12和Chrome的Ctrl+Shift+I)-网页分析的利器
- UIWebView内存问题
- 大神博客
- Android studio internal http server disabled
- 6日摘取男子100米自由泳桂冠的宁泽涛则在副项50米自由泳半决赛后名列第15
- 简述线程死锁的产生
- android出现注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用了未经检查或不安全的操作。 注
- 2015年北京大学软件工程学科优秀大学生夏令营上机考试---B:整数奇偶排序
- C# Web开发学习----记录学习过程与心得体会
- hdu 4813 Hard Code