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

来源:互联网 发布:张予曦真人好看吗 知乎 编辑:程序博客网 时间:2024/04/25 15:10

如题会出现这样的问题,一般是显示的在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来销毁了。
0 0