系統更新導致死機問題有解了Android 11支持A/B無縫更新
據XDA報導,谷歌要求Android 11設備必須使用A/B分區,以便支持無縫更新,這樣做可以大幅降低設備更新變磚、死機的機率。事實上,谷歌在Android 7.0時代就已經推出了這種全新的系統更新方式,只是當時谷歌並未強制要求廠商去推行,它叫做A/B seamless update,這裡稱其為A/B無縫更新。
既然是一種全新的更新方式,自然是跟以前傳統系統更新方式有所區別。傳統的系統更新方式需要將手機置入Recovery模式安裝更新,安裝更新往往要花上幾分鐘到十幾分鐘不等,這個過程中你什麼事情都做不了。原廠Recovery會將更新的臨時文件存放進/cache分區裡,這也就是/cache分區的主要目的。
按照谷歌的說法,A/B系統更新(也稱為無縫更新)的目標是確保在無線下載(OTA)更新期間在磁盤上保留一個可正常啟動和使用的系統。採用這種方式可以降低更新之後設備無法啟動的可能性,這意味著用戶需要將設備送到維修和保修中心進行更換和刷機的情況將會減少,其他某些商業級操作系統(例如ChromeOS)也成功使用了A/B更新機制。
A/B無縫更新基本的工作原理:
假設你現在運行的是位於A部分的底層和上層系統。
如果你的OTA更新包是增量更新包,更新包會自動將這些A部分的底層和上層分區校驗完整性,然後按照更新包裡的內容更新之後寫到B部分的對應分區裡。更新完成之後,手機會問你是否重啟,此時重啟之後,底層會自動將下一個要啟動的系統切換到B部分,重啟之後就是已經更新之後的系統。
那麼到了B部分之後,下一個更新來了怎麼辦呢?
同樣的,也是將B部分的底層和上層分區校驗完整性,然後按照更新包裡的內容更新之後寫到A部分的對應分區裡,然後讓你重啟,並切換到A狀態。
當前已經有越來越多的廠商在他們新推出的手機使用這種更新方式了,可以明顯看出這是將來Android陣營的一大趨勢。