据XDA论坛消息,为了支持无缝更新,降低系统升级导致设备变砖或死机的概率,谷歌现提出要求,Android 11设备必须使用A/B分区。
这种做名为A/B seamless update(A/B无缝更新)的更新方式早在Android 7.0时代就已推出,不过当时谷歌并未强制要求厂商推行。
传统的系统更新方式需要将手机置入Recovery模式,花上几分钟到十几分钟不等的时间安装更新。这个过程中你什么事情都做不了,只能静待原厂Recovery将更新的临时文件存放进/cache分区里。
而A/B无缝更新的目标是确保在无线下载 (OTA) 更新期间在磁盘上仍然保留一个可正常启动和使用的系统,如此便可以降低更新之后设备无法启动的可能性。这一常见于一些商用系统上的更新方式可以减少用户因更新或刷机导致设备变砖送修的机会。
A/B无缝更新基本的工作原理:
假设你现在运行的是位于A部分的底层和上层系统。此时通过OTA更新获得的增量更新包会自动对这些A部分的底层和上层分区校验完整性,然后按照更新包里的内容更新之后写到B部分的对应分区里。
更新完成之后,手机会询问是否重启,选择重启后底层会自动将下一个要启动的系统切换到B部分,重启之后就是已经更新完毕的系统。
同理,现在使用的是位于B部分的底层和上层系统,下一个更新到来的时候,对B部分的底层和上层分区校验完整性,然后按照更新包里的内容更新之后写到A部分的对应分区里,然后让你重启,并切换到A状态。
安卓系统因为开放而具备更高的可玩性,同时因为开放,需要适配更多的硬件,更新系统的稳定性取决于厂商的实力。
在普及A/B无缝更新后,理论上更新/刷机失败也不会导致手机变砖了。
(编辑:铁柱)