WebView避免内存泄露的方法-创新互联
最近遇到一个Webview内存泄露的问题,上网查了一些结果,在此记录一下:
站在用户的角度思考问题,与客户深入沟通,找到北辰网站设计与北辰网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、雅安服务器托管、企业邮箱。业务覆盖北辰地区。webview在android系统中属于一个比较特殊的view,在调用 webview.destroy()的时候,必须确保webview已经从view tree中被删除,否则这个函数不会执行的。如本app中的用法,在xml中静态定义的webview,只有在整个view退出后调用 webview.destroy()才会被正确执行,但整个view退出后又找不到webview了,这个是很矛盾的。
所以android给出的解决方案是,不要在xml中定义webview,在xml中只定义view,然后在需要webview的时候,创建一个webview,并把webview放到定义好的view的位置。
在删除得的时候,先把webview从parent view中删除,然后释放,就不会有问题了。
在应用层修改如下:
WebView mWebView = new WebView(getApplicationgContext());
LinearLayout mll = findViewById(R.id.xxx);
mll.addView(mWebView);
protected void onDestroy() {
super.onDestroy();
mll.removeView(wv); //从布局中移除webView
mWebView.removeAllViews();
mWebView.destroy()
}
参考资料:http://my.oschina.net/zhibuji/blog/100580
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页名称:WebView避免内存泄露的方法-创新互联
URL链接:http://scjbc.cn/article/ghjdo.html