WebView回收资源的报错的解决方案----Error: WebView.destroy() called while still attached!

如题会出现这样的问题,一般是显示的在Activity的生命周期onDestroy方法里调用了WebView.destroy() 来回收销毁WebView对象造成的:

if (webView != null) {
	webView.clearCache(true);
	webView.removeAllViews();
        webView.destroy();
	webView = null;
}


 
 

首先我们来解释Error: WebView.destroy() called while still attached!错误的意思:

意思是webview对象还在父容器控件中引用,你就想调用destroy来销毁而报错。所以顾名思义我们得先解除这个引用,才能对webview对象进行回收销毁。

if (webView != null) {
	mLayoutContainer.removeView(webView);
	webView.clearCache(true);
	webView.removeAllViews();
	webView.destroy();
	webView = null;
}


mLayoutContainer就是父容器控件,把webview对象从父容器中删除,就可以调用destroy来销毁了。

你可能感兴趣的:(WebView回收资源的报错的解决方案----Error: WebView.destroy() called while still attached!)