分享 【转载】一文详解安卓A/B分区——小米11无缝更新功能科普

2020-03-24
15
9
2
积分
55.0M
a480b3d423886b255d7c613241df7f1a




购买并且已经用上小米11的用户应该会发现,小米11系统更新的进度条在开机界面直接完成,进度条走完后重启一下可直接进入更新后的新系统,无须漫长等待关机状态的进度条加载 这是由于小米11采用安卓的virtual A/B 分区机制,实现无缝更新效果,以实现更新的同时可以继续操作手机,并且提升了更新的稳定性,避免因OTA更新过程中出现异常造成手机变砖等问题。

A / B分区基本原理​

A/B 系统更新(也称为无缝更新)的目标是确保在无线下载 (OTA) 更新期间在磁盘上保留一个可正常启动和使用的系统。采用这种方式可以降低更新之后设备无法启动的可能性,这意味着用户需要将设备(变砖)送到维修中心进行更换和刷机的情况将会减少。
b2d52c35e6f745e999066a2c59ade32f



A/B分区示意图
从本质上讲,它会将基本文件放入设备上的“分区”中。安装更新后,设备将更新分区B中的文件,同时将手机留在分区A中。可以将不活动的分区B更新为Android下一版本,直到用户重新启动并且设备从分区A切换到分区B为止 ,手机将运行在较新版本的系统上。 如示意图所示,用户在使用的系统为A,ota更新的是b分区,在重启后系统进入b分区使用,即使更新失败,a分区不受影响,手机仍然可以正常使用。

MIUI开发内测先锋用户的福音​

MIUI开发版内测几乎是每日更新——每周一至周四下午六点共推送四次系统更新,实现功能的快速迭代和bug的快速修复,miui的大部分新功能都是在内测版经用户先行测试,达到稳定后逐渐推送给稳定版用户的。 A/B分区的存在,使得更新过程几乎完全在后台进行,你可以在安装更新的同时继续使用手机,而实际应用更新只需要正常重启一次。如果你的手机经常更新,则此功能(无缝更新)可以节省大量时间
8ab1dd3a0face1bbe38b6d224b24c981



12.5 体验大不一般

优势​

☀OTA 更新可以在系统运行期间进行,而不会打断用户。用户可以在 OTA 期间继续使用其设备。在更新期间,唯一的一次宕机发生在设备重新启动到更新后的磁盘分区时。 ☀更新后,重新启动所用的时间不会超过常规重新启动所用的时间。 ☀如果偶然有更新损坏且无法安装,则Android中的A/B分区可以为你提供保护。在这种情况下,只会影响非活动分区(“分区B”),因此你可以继续正常使用手机 ☀如果 OTA 无法应用(例如,因为刷机失败),用户将不会受到影响。用户将继续运行旧的操作系统,并且客户端可以重新尝试进行更新。 ☀任何错误(例如 I/O 错误)都只会影响未使用的分区组,并且用户可以进行重试。由于 I/O 负载被特意控制在较低水平,以免影响用户体验,因此发生此类错误的可能性也会降低。 ☀virtual A / B更新与A / B更新一样是无缝的。虚拟A / B更新可最大程度地减少设备离线和不可用的时间

缺点​

对于Android用户而言,A / B 无缝更新是巨大的稳定性改进,但是两个分区的存在意味着更多的存储空间占用,是一个相对的缺点。但是目前手机几乎都128g起步,还有很多256,512gb空间可选,也不必过于担心存储空间占用的问题。 virtual A / B更新通过仅复制引导加载程序使用的分区来使用最少的额外空间,已经优化了这个缺点。

应用情况​

Google在所有设备上都采用了 A/B 分区OTA,从 2016 年 10 月份开始,Pixel 和 Pixel XL 手机在出厂时都具备 A/B 功能。 国内采用 (virtual) A/B 分区的设备(厂商)有某plus,小米11等
f7272a4b485ae24e74204d9966dcc39a


FROM vernal
 


* 这是一则由 Google AdSense 自动推荐的广告,与柚坛社区无关,不对其真实性与可靠性负责