1. 程式人生 > >Android---解決WebView導致的記憶體洩漏

Android---解決WebView導致的記憶體洩漏

如何解決WebView導致的記憶體洩漏

懶得廢話: 1.避免在xml佈局檔案中直接巢狀webview控制元件,而是採用addview的方式new一個webview並載入到佈局中,如:

        webView = new WebView(this);
        webView.getSettings().setJavaScriptEnabled(true);
        framelayout.addView(webView);
        webView.loadUrl(url);

2.當activity生命週期結束時及時銷燬/釋放資源,如:

@Override
    protected void onDestroy() {
        if (webView != null) {
            ViewParent parent = webView.getParent();
            if (parent != null) {
                ((ViewGroup) parent).removeView(webView);
            }
            webView.stopLoading();
            webView.getSettings().setJavaScriptEnabled(false);
            webView.clearHistory();
            webView.removeAllViews();
            webView.destroy();
        }
        super.onDestroy();
    }

當然,如果還有問題歡迎大家留言討論~