android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
时间:2014-06-24 18:41:57
收藏:0
阅读:275
Activity has leaked window android.widget.ZoomButtonsController that was originally added here android.view.WindowLeaked:
引起这个错误的原因是:
发现是webview的 ZoomButton,也就是那两个放大和缩小的按钮,导致的。如果设置为让他们出现,并且可以自动隐藏,那么,由于他们的自动隐藏是一个渐变的过程,所以在逐渐消失的过程中如果调用了父容器的destroy方法,就会导致Leaked。
所以解决方案是,在destroy之前,先让他俩立马消失。
至于立马消失的方法,网上大多抄来抄去,没有效果。
我的解决办法是,在finish掉此activity时,把子view 全部remove掉。理论上说,只需要remove这个zoom view就可以,但是我没找到获取该view的办法,只好remove掉所有的子view。这样在activity destroy时就不会报WindowLeaked的错误了。
@Override public void finish() { ViewGroup view = (ViewGroup) getWindow().getDecorView(); view.removeAllViews(); super.finish(); }
android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决,布布扣,bubuko.com
评论(0)