AndroidSystemWebView是安卓系統的核心組件之一,本質上這就是個基於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 強制執行該模塊以便後續可以處理緊急問題。