新程式碼庫顯示Android 15將可以更好地處理WebView崩潰問題
Android System WebView 是安卓系統的核心元件之一,本質上這就是一個基於Chromium 開發的瀏覽器元件,用來幫助開發者在應用程式中載入網頁內容。不過如果WebView 元件發生異常的話,可能會導致應用程式崩潰,例如在2021 年WebView 就出現過異常,於是在各大品牌的安卓機上都引起了廣泛的崩潰問題,一些調用WebView 的應用程式反覆崩潰。
這個問題最終由Google發布WebView 新版本解決,得益於WebView 透過Google Play 更新,因此遇到問題解決時也不算是太麻煩。
然而崩潰問題就比較煩了:
儘管WebView 已經透過模組化然後透過Google Play 發布更新,但用於整合WebView 核心框架的API 還是由OEM 來處理,這部分Google無法直接更新。
這個問題也是在WebView 出現異常時導致應用程式回饋崩潰的原因之一,按照正常的工程設計邏輯,如果WebView 發生崩潰那麼應用程式應該可以偵測到並彈出通知,而不是導致整個應用程式都反覆崩潰。
將框架API 也放到Google Play 更新:
AndroidPolice 注意到,在Android 15 中Google在AOSP 中加入了WebViewBootstrap 的新Project Mainline 模組,用來對系統元件進行模組化更新,而不依賴常規的OTA 更新。
消息來源稱Google計劃將大量的WebView API 相關的程式碼都放到這個新模組中,以便在未來,緊急情況下也可以快速完成更新,例如在WebView 徹底無法啟動時。
值得注意的是Google並不准備在常規情況下使用WebView API 修改內容,谷歌僅僅只是將這個功能預留用來應對緊急情況,所以這個API 不會有什麼明顯的變更,開發者幾乎不需要重新進行適配。
報錯更新問題:
如上文所說出錯應該彈出窗口提醒而不是直接崩潰,讓使用者完全搞不清楚發生了什麼事。
谷歌計畫在新模組中預留一些功能,旨在用來偵測WebView 元件無法啟動,如果偵測到無法啟動那麼還會彈出一些友善通知用來提醒用戶。
這個新模組將與Android 15 一起發布,不過在Android 15 裡,OEM 應該是可選是否執行該模組,而到Android 16 中谷歌將要求OEM 強制執行該模組以便後續處理緊急問題。