
在 Android Webview 中的一个表单里,给输入框后面添加了个清除按钮,一旦点击此按钮,就清空输入框,并自动 focus 到该输入框上,顺带禁用掉表单中的提交按钮。大致 js 代码如下(页面引用了 zepto.js ):
$(".btn-clear").on("tap", function(e){ e.isDefaultPrevented(); $(this).hide().prev("input").val(""); $(this).prev("input").trigger("focus"); //就是这行导致应用 crash 了 $(".btn-common").prop("disabled", true); }); 设备名称:魅族 MX3
系统版本:Android 4.4.4
在 Webview 中打开此页面,会有个自动 focus 到输入框的行为(不是上面那段代码,是其他的)。之前发现 Webview 中一旦跳转至此页面,应用就会 crash 退出,把那段代码去掉后,应用就恢复了正常。但点击输入框后面的清除按钮,应用又 crash 了。此问题出现在真实设备,但在 Testin 云测上找了同型号设备(版本号略低,为 Android 4.2.1 )没有复现。
后面请 Android 开发同事帮忙抓取了调试的日志,大致内容包含有以下:
12-27 18:23:00.190 16345-16345/com.******.sample:remoteWeb A/libc: Fatal signal 6 (SIGABRT) at 0x00003fd9 (code=-6), thread 16345 (ample:remoteWeb) 12-27 18:23:00.915 2592-2620/? E/InputDispatcher: channel '42995810 com.******.sample/com.*****.***.**.****WebViewActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 另外,移动端浏览器也没出现这样的问题,由于本人非 Android 开发出身,请 V2 大佬帮忙给分析分析,会是什么情况导致的应用 crash ?
1 zwh2698 Dec 28, 2018 via Android 你没有怀疑过是魅族自己的问题?魅族能活着真他妈的神奇 |
2 chenyu8674 Dec 28, 2018 九成是魅族的问题 之前测试时发现有款魅蓝连 OnScrollListener 都不调,从此一生黑 |
3 davin OP 我也是恨的不得了,之前这个魅族充电的时候还突发异响,搞得整个部门都听见了。不知道魅族 Android 4.0 的设备市场占比有多少,想忽略掉,唉! |
4 yrom Dec 28, 2018 你这抓的日志没用,只是说 app 挂了,得往前看才知道原因 |
5 66beta Dec 28, 2018 via Android 这么巧,才发了个帖子吐槽闹钟 bug 魅族系统定制多?拜托基础功能先保障好吧,一加都不会出这种低级 bug SEO 魅族 系统 bug 多 魅族 不要买 Flyme bug 多 魅族 Flyme 不建议购买 |
6 liuzhedash Dec 28, 2018 mx3 4.4.4 太老的机型了,看现象应该是 webview 的问题。 4L 说的对,日志没抓对地方,重点应该是应用内 webview 产生的日志。其实还有个规避思路是应用内置一个固定的 webview,比如腾讯的 X5 (如果不怕 V2EX 的大神喷你的话) |
7 davin OP 有空我就再去让同事抓下 webview 日志吧,其实 X5 也私下想过,不过包的体积不就增加了嘛,领导那估计也通不过。 |
8 mxalbert1996 Dec 28, 2018 via Android @yrom 这个明显是 native code 崩了,往前看有什么用 |
9 davin OP 昨天试了另外同型号的真机,没有复现,节后再试试吧,测试同事说要把机器恢复下出厂设置。 |
10 yrom Dec 29, 2018 @mxalbert1996 native 崩了也得有个说头吧,难道这个地方崩了就不管了 |
11 stuazt Jan 11, 2019 AndroidBug5497Workaround,可以搜一下这个 bug,Android 陈年老 bug 了,我看你这个跟这个是有关系的。 |