无缝升级和传统升级的区别
传统升级:只有一套分区。设备有一个Android系统和Recovery系统,Android主系统运行时检测是否需要升级,如果需要升级,则将升级的数据包下载并存放到cache分区,重启系统后进入Recovery系统,并用cache分区下载好的数据更新Android主系统,更新完成后重新启动进入Android主系统。
无缝升级:A/B两套分区,都是可以正常工作的系统,系统启动时会选择一套系统启动。
- 无缝升级的具体原理
如何选择系统进行启动?对于A/B系统的slot A和slot B分区,其都存在以下三个属性:
- active:系统的活动分区标识,这是一个排他属性,系统只能有一个分区设置为active属性,启动时bootloader选取设置为active的分区进行启动。
- Bootable:分区可启动标识,设置为bootable的分区表明该分区包含了一个完整的可以启动的系统。
- Successful:分区成功运行标识,设置为successful的分区表明该分区在上一次启动或当前启动中可以正确运行。
- 无缝升级的优点(为什么要使用无缝升级)
- 让升级时间缩短,提升用户体验,下载和安装完全在后台,重启自动切换新系统且不耗时。过程无缝衔接;
- 减少设备变砖头的可能性,就算升级失败,但是总有一套系统是可用的;
- 不需要临时的下载升级包的存储空间,可以使更多的用户升级系统。
- 无缝升级的缺点
(1)存储空间变大