欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WebView内存泄漏解决方案

程序员文章站 2022-04-26 21:47:46
...

这些天总算把项目做的差不多了,但是还有一个问题没有解决,那就是WebView内存泄漏的问题,之前销毁WebView的方案是:

if (mWebView != null) {
     mWebView.removeAllViews();
     mWebView.destroy();
}

每次启动含有WebView的页面都会有下面这个问题:
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();
    }
相关标签: WebView