Android App中,如果一个Activity使用了WebView,并且加载的网页有声音,有些机型会出现Activity finish之后,仍然有声音。这是Android系统或厂商ROM本身的一个问题,作为App方只能想办法绕过去。
有一种办法,手动调用一次WebView.destroy(),可以生效。不过需要注意,在低版本Android(4.4.4)上,会引起底层crash,解决方法是需要在调用WebView.destroy()手动将WebView对象从当前View Tree中删除。代码类似如下:
ViewParent p = webView.getParent();
if (null != p && p instanceof ViewGroup) {
((ViewGroup) p).removeView(webView);
}
webView.destroy();