版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z2464342708m/article/details/79103780
这些天总算把项目做的差不多了,但是还有一个问题没有解决,那就是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();
}