Android System WebView 是安卓系统的核心组件之一,本质上这就是个基于 Chromium 开发的浏览器组件,用来帮助开发者在应用程序里加载网页内容。
不过如果 WebView 组件发生异常的话,可能会导致应用程序崩溃,例如在 2021 年 WebView 就出现过异常,于是在各大品牌的安卓机上都引起了广泛的崩溃问题,一些调用 WebView 的应用程序反复崩溃。
这个问题最终由谷歌发布 WebView 新版本解决,得益于 WebView 通过 Google Play 更新,因此遇到问题解决时也不算是太麻烦。
然而崩溃问题就比较烦了:
尽管 WebView 已经通过模块化然后通过 Google Play 发布更新,但用于集成 WebView 核心框架的 API 还是由 OEM 来处理,这部分谷歌无法直接更新。
这个问题也是在 WebView 出现异常时导致应用程序反馈崩溃的原因之一,按照正常的工程设计逻辑,如果 WebView 发生崩溃那么应用应该可以检测到并弹出通知,而不是导致整个应用都反复崩溃。
将框架 API 也放到 Google Play 更新:
AndroidPolice 注意到,在 Android 15 中谷歌在 AOSP 中添加了 WebViewBootstrap 的新 Project Mainline 模块,用来对系统组件进行模块化更新,而不依赖于常规的 OTA 更新。
消息源称谷歌计划将大量的 WebView API 相关的代码都放到这个新模块中,以便在未来,紧急情况下也可以快速完成更新,例如在 WebView 彻底无法启动时。
值得注意的是谷歌并不准备在常规情况下使用 WebView API 修改内容,谷歌仅仅只是将这个功能预留用来应对紧急情况,所以这个 API 不会有什么明显的变更,开发者几乎不需要重新进行适配。
报错更新问题:
如上文所说出错应该弹窗提醒而不是直接崩溃,让用户完全搞不清楚发生了什么。
谷歌计划在新模块中预留一些功能,旨在用来检测 WebView 组件无法启动,如果检测到无法启动那么还会弹出一些友好通知用来提醒用户。
这个新模块将与 Android 15 一起发布,不过在 Android 15 里,OEM 应该是可选是否执行该模块,而到 Android 16 中谷歌将要求 OEM 强制执行该模块以便后续可以处理紧急问题。
版权声明:感谢您的阅读,本文由山外的鸭子哥转载或编译自AndroidPolice,如需转载本文请联系原作者获取授权,谢谢理解。