很简单,但是不常用WebView的话,可能会忘记。在此标记一下,防止忘记,也给不知道的朋友提供帮助

ViewGroup parent= (ViewGroup)webView.getParent();

if(parent!=null){

parent.removeView(webView);

webView.removeAllViews();

}

//如果只是简单的关闭声音,下面一句就行,上面的代码意义为防止报出WebView.destroy() called while still attached的错误,先把webView移除,

再销毁

webView.destroy();

在你需要销毁WebView的时候调用它。

当ListView里面有WebView,怎么办?

我有一个方法如下:

定义一个静态的List,泛型为WebView;

public static Listwebs=new ArrayList<>();

在ListView的getView方法内,这样做:

webs.add(webview);

在你需要销毁WebView的地方,这样做:

for(int i=0;i

WebView web=Constants.webs.get(i);

ViewGroup parent= (ViewGroup)web.getParent();

if(parent!=null){

parent.removeView(web);

web.removeAllViews();

web.destroy();

}

}

Constants.webs.clear();

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/16683.html

75d087ef9a9fb11dc373caaf33adbf7f.png

微信打赏

支付宝打赏

感谢您对作者kyle的打赏,我们会更加努力!    如果您想成为作者,请点我

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐