在 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 ?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.