根据外媒 9to5 Google 报道,3 月 23 日几个小时内,大量安卓用户遇到一些安卓应用连续闪退的情况,有人发现卸载安卓系统 WebView 就可以停止闪退。目前,谷歌已经发布了应用崩溃问题的永久修复,涉及更新 Android System WebView 和 Chrome 浏览器 89.0.4389.105 版本升级。
实际上,Android 碎片化问题自其诞生之初业已存在,而且目前看上去并没有好的解决方案。不同系统、不同厂商中的浏览器内核同样存在差异,导致层出不穷的兼容性问题令众多安卓开发同学头疼不已。
为了彻底解决并且掌控这些问题,mPaaS 集成独立的 UC 浏览器内核,由此针对 WebView 所产生的闪退、卡顿等问题可以被有效收敛,统一管控。同时,根据众多业务的应用和测试,使用 UC 浏览器内核,浏览器相关的闪退和 ANR(Application Not Respond) 有明显的下降。
除此之外,围绕 WebView 所产生的任何安全问题,mPaaS 可以在第一时间修复并发布[1],远比厂商升级更有效率。
除 UC WebView 内核之外,mPaaS 同时继承了支付宝深度应用的容器及离线包[2]技术。
常规情况下,在 App 中启动一个线上页面,通常会有一个白屏阶段,这是浏览器需要从服务器下载 HTML 资源。由于手机网络限制,资源加载时间不可控,通常会花费 300ms 以上的实践,用户在这个时间段就会看到页面白屏。
为了优化用户体验,减少白屏时间,支付宝在容器内引用了离线包技术。离线包可以简单理解为一个 zip 压缩包,其中包含前端页面所需的 HTML、CSS、JS、图片等资源,内置到客户端后,容器打开离线包页面时会直接从离线包中获取资源。这个过程仅需毫秒,消除了页面启动白屏的问题。
目前,mPaaS 容器方案支持 HTML5 及小程序。借助离线包能力轻松实现渲染、逻辑、配置等静态资源的预置,摆脱网络环境对页面加载的影响,提升用户体验。
同时,借助 mPaaS 动态发布服务,针对新的产品/业务需求,能够实现快速开发,并通过 mPaaS 控制台即可完成发布;而终端用户客户端中集成的容器 SDK 将自动拉取最新的离线包。这种发布、更新的过程无需通过应用商店审核,最大化提升业务迭代效率。
参考文档
[1]mPaaS 动态发布产品文档:https://help.aliyun.com/document_detail/49580.html
[2]mPaaS H5 容器及离线包产品文档:https://help.aliyun.com/document_detail/59192.html
- END -