十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

无感升级”(A/B 系统分区,不再需要 Recovery) 本质还是在调用recovery?

无感升级”(A/B 系统分区,不再需要 Recovery) 本质还是在调用recovery? 不是的本质上完全不同它根本没有调用 Recovery。无感升级A/B 分区不是“把 Recovery 藏起来了”而是直接把“解压和写入更新”的工作交给了正在运行的主系统本身。为了让你彻底明白我们可以对比一下这两者的底层机制1. 传统升级依赖 Recovery离线升级在没有 A/B 分区前升级过程是这样的执行者Recovery 系统主系统此时已关机。过程主系统把升级包下载好。手机关机退出主系统启动并进入 Recovery 模式。Recovery 抹掉原有的主系统文件把新文件写进去。写完后重启进入新主系统。本质必须把手机“拉到维修厂Recovery”关掉发动机才能换零件。2. A/B 无感升级依赖主系统的后台进程在线升级在有 A/B 分区后升级过程变成了这样执行者主系统里的一个后台服务程序在 Android 里叫update_engine。过程你正在用A 分区的系统玩游戏、刷视频。手机在后台下载升级包。主系统的update_engine默默地把升级包解压直接写入当前没在使用的 B 分区。写入完成后主系统向引导程序Bootloader发个指令“下次开机请从 B 分区启动。”你点击重启手机只是正常重启了一下Bootloader 切换到了 B 分区新系统就启动了。本质飞机有两个引擎在飞行的同时副驾驶在后台把闲置的 2 号引擎换成了最新的然后再把控制权切到 2 号引擎。全程根本没去“维修厂Recovery”。那么A/B 结构的手机里Recovery 跑哪去了既然升级不用 Recovery 了那 Recovery 是不是消失了功能退居二线在 A/B 结构的手机里Recovery 依然存在但它只负责**“灾难救援”**比如你手动恢复出厂设置或者系统连续多次开机失败进入自动修复。位置被合并了在很多现代 A/B 分区的手机上甚至取消了独立的 Recovery 分区。Google 把 Recovery 的代码直接打包放进了 Boot 镜像引导区里。只有在你按住音量键强制进入时它才会作为急救手段被加载。总结无感升级的本质是利用多余的分区由主系统“自己给自己做手术”完全跳过了 Recovery 模式。这也是为什么这种升级方式可以做到“边玩手机边升级重启即可生效”。
返回列表