Android 系统启动过程
2026/5/31 7:42:34 网站建设 项目流程

按下电源键到桌面亮起,Android 开机到底经历了什么?从 BootROM 到 Launcher 完整链路拆解(附开机优化实战)

目录

  • 一、开机全过程概览
  • 二、阶段一:BootROM — 芯片里刻死的代码
  • 三、阶段二:BootLoader — 引导程序
  • 四、阶段三:Linux Kernel — 内核启动
  • 五、阶段四:init 进程 — 第一个用户态进程
  • 六、阶段五:Zygote — Java 世界的起点
  • 七、阶段六:SystemServer — 系统服务大爆炸
  • 八、阶段七:Launcher — 桌面的诞生
  • 九、完整启动时序图
  • 十、各阶段启动耗时分解
  • 十一、实战:开机速度优化
  • 十二、开机卡在 Logo 怎么调试
  • 十三、总结

一、开机全过程概览

Android 从按下电源键到看到桌面,经历了七个阶段。很多人只知道"开机慢",但不知道慢在哪个阶段。把这七个阶段搞清楚,优化才有方向。

1. BootROM
芯片固化代码
几十毫秒

2. BootLoader
加载 boot.img
几百毫秒

3. Linux Kernel
驱动初始化
0.5-1.5s

4. init 进程
解析 rc + 挂载分区
1-2s

5. Zygote
ART 虚拟机 + preload
1.5-3s

6. SystemServer
启动 60+ 服务
3-6s

7. Launcher
桌面出现
0.5-1s

总开机时间一般在8~15 秒(旗舰机偏下限,低端机偏上限)。其中 SystemServer 是大头,Zygote preload 次之。


二、阶段一:BootROM — 芯片里刻死的代码

设备一上电,SoC(系统级芯片)最先跑的是一段烧死在 ROM 里的代码——BootROM。这段代码芯片厂商在生产时就写死了,你改不了。

它干了什么:

  1. 初始化最基本的硬件——时钟、内存控制器、少量 GPIO
  2. 从 eMMC / UFS 存储芯片的指定分区找到 BootLoader
  3. 校验 BootLoader 的签名(Secure Boot)
  4. 把 BootLoader 加载到内存并跳转

通过

失败

设备上电

BootROM 执行

初始化时钟和内存控制器

读取存储上的 BootLoader 分区

签名校验通过?

加载 BootLoader 到内存
跳转执行

手机变砖
只能返厂

BootROM 阶段 几十毫秒就过了。但如果签名校验失败,手机直接就砖了——没有救砖工具基本只能返厂。


三、阶段二:BootLoader — 引导程序

BootLoader 是你能接触到的第一个可编写代码的阶段。常见的实现有:

BootLoader谁家用
U-Boot大多数 Android 设备(高通、MTK)
ABL(Android BootLoader)高通较新平台
Little Kernel (LK)老 MTK / 老高通平台

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询