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