WebView内存泄漏解决方案
程序员文章站
2022-04-26 21:47:46
...
这些天总算把项目做的差不多了,但是还有一个问题没有解决,那就是WebView内存泄漏的问题,之前销毁WebView的方案是:
if (mWebView != null) {
mWebView.removeAllViews();
mWebView.destroy();
}
每次启动含有WebView的页面都会有下面这个问题:
面对这个问题,有点不知道怎么解决,后来在简书找到了一篇博客,找到了解决方案:WebView内存泄漏解决方案 直接看方法四,具体如何解决,请看博客详情,这里我将解决方案的代码贴出:
@Override
protected void onDestroy() {
if (mWebView != null) {//解决webview内存泄露问题
// 如果先调用destroy()方法,则会命中if (isDestroyed()) return;这一行代码,需要先onDetachedFromWindow(),再
// destory()
ViewParent parent = mWebView.getParent();
if (parent != null) {
((ViewGroup) parent).removeView(mWebView);
}
mWebView.stopLoading();
// 退出时调用此方法,移除绑定的服务,否则某些特定系统会报错
mWebView.getSettings().setJavaScriptEnabled(false);
mWebView.clearHistory();
mWebView.clearView();
mWebView.removeAllViews();
mWebView.destroy();
}
super.onDestroy();
}
上一篇: 秋季喝什么茶好,教你如何选对茶