在系统更新的时候,设备中保留AB两套系统,并通过切换系统的方式做更新
在AB升级之前,Android系统更新会进入到recovery中,更新对应的分区数据,实现系统的更新。在这个过程中如果一旦被打断(如在升级过程中掉电),设备将变砖而无法使用。
而采用AB升级的设备则不会有这个烦恼,如果升级失败或者无法进入更新的系统,将会回退到旧系统,确保设备中有一份可用的系统。
至少需要预留两倍的空间,是的设备能够容纳A, B两套系统。即使用户不做系统升级,这个空间也会一直占用而无法被使用。
这个对于ROM较小的设备来说,简直是雪上加霜。Google也意识到了这个问题,在AndroidQ之后实现了Virtual AB的方式,仅仅在升级的时候才会额外需要存储去存放B系统,一旦升级成功,会将旧系统的存储释放。
non-A/B:就是在AB升级出来之前的升级方式,通过先讲OTA包下载到data分区,然后经过Recovery进行系统更新,更新完成之后释放存储
A/B:在系统分区开辟两套系统存储空间,一直不释放
Virtual A/B:Android 11之后GMS设备必须实现。在升级过程中会借用data分区,升级成功后释放旧系统的存储。
Virtual A/B(conpressed): Android12上实现,升级块的差分数据以压缩的数据格式进行,相比Virtual A/B,在升级过程中占用的存储更小。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。