最近公司APP上线后,从后台发现了这个问题。
**原因:**当WebView打开了缩放功能时webview.getSettings().setBuiltInZoomControls(true);在部分手机型号上如果用户缩放了页面这个时候关闭webView页面直接调用 mWebView.destroy();的时候会出现崩溃现象。
分析后知道 WebView的源码就可以知道ZoomButtonsController有一个register和unregister的过程。但是这两个过程是我们控制不了的,WebView有显示控制的API但我们访问不过。我们能访问到的只有这几个和ZoomButtonsController的控制相关:

    **void setBuiltInZoomControls(boolean enabled)
    void setDefaultZoom(WebSettings.ZoomDensity zoom)
    void setDisplayZoomControls(boolean enabled)
    void setSupportZoom(boolean support)**

试过了一遍都不管用。
最终解决办法:
重写WebView所在Activity的finish()方法,通过getDecorView:这个方法获取顶级视图,然后移除所有View,问题得到解决。

更多推荐