开发者社区> 问答> 正文

移动推送与crosswalk有冲突

我们开发的Android应用在集成了阿里云移动推送之后出现了一个比较棘手的bug,详情如下:我们的app是一款原生跟web混编的app,其中的web内核用的是crosswalk,在集成了移动推送之后,web页面的输入框一旦输入任何字符都会导致app闪退,没有留下任何闪退日志,(比如在web页面的搜索框中输入一个字母,app立马闪退),如果把集成的推送注释掉,一切又恢复正常。

展开
收起
zhanghuzhc 2017-06-08 18:35:45 3318 0
1 条回答
写回答
取消 提交回答
  • 几个月之前尝试使用过一下crosswalk,但是并没有深入研究,还望其他小伙伴补充完善。 首先呢, crosswalk 只是针对安卓平台的。那么我们为什么要使用 crosswalk 呢.因为低于android 4.4 的webview 是一个蹩脚的Android WebKit浏览器内核(android版本越低性能就越差,android 4.4以上已经使用了Chromium ),所以英特尔公司发布了 Crosswalk引擎,可以让 Android 4.0-4.3 的手机上的应用打包 Chromium 引擎而不是 Android WebKit。虽说未来 Android 4.4 会占据更多市场份额,但目前主流的 Android 手机的系统版本毕竟还是 4.1、4.2(4以下的就不说了...)。 cordova 和 crosswalk 的一些差异 安装包的大小,【cordova,一个纯html5的 apk 仅有1.5M左右(不涉及原生功能),涉及到一些原生功能,比如相机、文件系统、推送等因为需要加入插件,一般 apk 在 5M 左右】,而【crosswalk,一个纯html的 apk 就达到了19M左右,如果需要加入杂七杂八的插件,那就是奔着25M去了】,天朝流量还是很贵的....(用户一看app这么大,算了不下了...) 开发的简便性, 【我是一个专职 cordova 开发者,所以cordova已经用习惯,这一条可能不够客观,仅供参考】.首先【cordova 3.0+ 的版本开发起来都很方便了,命令行命令行你的应用就搞定了 - -! 】,而【crosswalk集成比较麻烦,也许是我没找到门道.....手动集成导入包什么的总觉得好麻烦啊.....然后我默默的去下载了一个 intelxdk ,因为他能直接打包基于 crosswalk 的应用,但是点了打包之后,发了一个邮件给你让你去下载,这...这....这......我总觉得云打包需要上传代码是不是不太合适啊....】 插件生态圈, crosswalk 虽然能兼容 cordova plugin 但并不是完全一致的,而且并不是所有的cordova plugin 都能用在crosswalk 上 流畅度(大家最关心的应该在这里了...首先我说一下我是用的 App Framework 这个前端框架的,这个现在也是intel的 - -),我测试的手机是 华为 g510 android 4.1.1 的手机,性能并不强,在滚动流畅度和整理流畅度上 crosswalk 不得不承认确实有明显提升,但是个人觉得cordova在安卓上的流畅度也在可以接受的范围之内。【其实说白了,cordova性能确实差一些,但是可以通过一些手段优化来提升性能,或者牺牲一下用户体验,关闭一些没必要的切换动画什么的来提升】 暂时只想到这么多 最后说一下用cordova不就是为了跨平台, 而 crosswalk 是只针对安卓平台的,所以如果你的应用主打ios平台的话,用不用就随意了(我只是这么一说,安卓端的客户还是不能丢的)... 题外话,在 ios 平台上 cordova 已经表现的很完美了(除了万恶的 position:fixed ),跟原生应用并没有太大的差别(也可能是因为我现在做的都不是很复杂的应用...没体现出跟原生的差异性...)。

    答案来源于网络

    2019-09-27 10:08:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载