【Android】'WebView-- Caught a crash, signum=11'的解决
碰到一个奇怪的问题:
WebView在显示本地的一个h5页面时,在Mi 2S可显示,页面上同样属性的按钮有两个可点击,但第三个按钮点击导致Activity必定出现崩溃。崩溃无详细日志,只有如下两句线索:
1 | // W/crash_handler(19125): Caught a crash, signum=11 |
该页面在其它手机包括小米的其它系列手机都正常,只出现在Mi 2S。
H5开发人员跟进后发现崩溃点是在h5界面的渲染阶段发生崩溃;无进一步解决办法。
去吃饭时走在路上考虑到Android上和渲染有关的是硬件加速了;
回来后检查代码发现整个app在AndroidManifest.xml
中的application
标签处全局开启硬件加速,
所以将其硬件加速开关设置关闭后,android:hardwareAccelerated="false"
,发现WebView正常。
后续为进一步减少代码改动所引起的影响范围,规避此bug的解决方案设定为:
- 判定为Mi 2系列手机时
- 对WebView的界面关闭硬件加速
1 | // if ("MI 2SC".equals(deviceName)) { |