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陣營的一大趨勢。