新代码库显示Android 15将可以更好地处理WebView崩溃问题

站长云网 2024-03-04 蓝点网 站长云网

AndroidSystemWebView是安卓系统的核心组件之一,本质上这就是个基于Chromium开发的浏览器组件,用来帮助开发者在应用程序里加载网页内容。不过如果WebView组件发生异常的话,可能会导致应用程序崩溃,例如在2021年WebView就出现过异常,于是在各大品牌的安卓机上都引起了广泛的崩溃问题,一些调用WebView的应用程序反复崩溃。

这个问题最终由谷歌发布WebView新版本解决,得益于WebView通过GooglePlay更新,因此遇到问题解决时也不算是太麻烦。

然而崩溃问题就比较烦了:

尽管WebView已经通过模块化然后通过GooglePlay发布更新,但用于集成WebView核心框架的API还是由OEM来处理,这部分谷歌无法直接更新。

这个问题也是在WebView出现异常时导致应用程序反馈崩溃的原因之一,按照正常的工程设计逻辑,如果WebView发生崩溃那么应用应该可以检测到并弹出通知,而不是导致整个应用都反复崩溃。

将框架API也放到GooglePlay更新:

AndroidPolice注意到,在Android15中谷歌在AOSP中添加了WebViewBootstrap的新ProjectMainline模块,用来对系统组件进行模块化更新,而不依赖于常规的OTA更新。

消息源称谷歌计划将大量的WebViewAPI相关的代码都放到这个新模块中,以便在未来,紧急情况下也可以快速完成更新,例如在WebView彻底无法启动时。

值得注意的是谷歌并不准备在常规情况下使用WebViewAPI修改内容,谷歌仅仅只是将这个功能预留用来应对紧急情况,所以这个API不会有什么明显的变更,开发者几乎不需要重新进行适配。

报错更新问题:

如上文所说出错应该弹窗提醒而不是直接崩溃,让用户完全搞不清楚发生了什么。

谷歌计划在新模块中预留一些功能,旨在用来检测WebView组件无法启动,如果检测到无法启动那么还会弹出一些友好通知用来提醒用户。

这个新模块将与Android15一起发布,不过在Android15里,OEM应该是可选是否执行该模块,而到Android16中谷歌将要求OEM强制执行该模块以便后续可以处理紧急问题。

责任编辑:站长云网