第一步:不在xml布局文件中定义Webview,在需要的时候在Activity中创建,并且Context使用getApplicationContext()。
frameLayout = (FrameLayout)findViewById(R.id.container);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
mWebView = new WebView(getApplicationContext());
mWebView.setLayoutParams(layoutParams);
frameLayout.addView(mWebView);
2. 在Activity 销毁时,先让 WebView 加载null内容,然后移除 WebView,再销毁WebView,最后置空。
@Override
protected void onDestroy() {
if(mWebView != null){
mWebView.loadDataWithBaseURL(null,"","text/html","utf-8",null);
// 设置为true,会清掉本地缓存的文件, 我设置为false
mWebView.clearCache(false);
// 清除历史记录
mWebView.clearHistory();
((ViewGroup)mWebView.getParent()).removeView(mWebView);
mWebView.destroy();
mWebView = null;
}
super.onDestroy();
}
谢谢围观