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