WebView内存泄漏解决方案

1.新开进程

在WebView所在的activity新开辟一个进程,在onDestroy中杀死WebView所在的进程

@Override
public void onDestroy() {
       android.os.Process.killProcess(android.os.Process.myPid());
       super.onDestroy();
}

清单文件


        
            
                
                
            
        
 
    <---WebView所在的activity->
        
        
    

2.及时移除webView

@Override
protected void onDestroy() {
    if( mWebView!=null) {
        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内存泄漏解决方案)