如何解決WebView導(dǎo)致的內(nèi)存泄漏
懶得廢話:
1.避免在xml布局文件中直接嵌套webview控件,而是采用addview的方式new一個webview并加載到布局中,上下文變量使用applicationContext,如:
webView = new WebView(getApplicationContext());
webView.getSettings().setJavaScriptEnabled(true);
framelayout.addView(webView);
webView.loadUrl(url);
2.當(dāng)activity生命周期結(jié)束時及時銷毀/釋放資源,如:
@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();
}
當(dāng)然,如果還有問題歡迎大家留言討論~