从开机到应用呈现经历了什么

张开发
2026/4/13 9:47:52 15 分钟阅读

分享文章

从开机到应用呈现经历了什么
从长按电源键触发开机开始启动芯片CPU里的一个小硬件模块上面烧写了启动程序。bootloader位于主板闪存芯片上的一段程序作用是引导 加载程序。注意理解bootloader是引导“加载程序”的程序。当你按下手机的电源键的时候CPU就被供电了CPU一供电就触发了它上面的启动芯片启动芯片就把bootloader复制到CPU里执行于是bootloader作为一颗即将燎原的“星星之火”启动了——后面所有的程序都是bootloader引火烧起来的。bootloader先把系统内核加载起来。系统内核是整个操作系统的核心是非常底层的程序上层应用无法直接使用呀所以系统内核跑起来之后就开始切手准备对外联络的线路它先创建出一条叫init的进程由 init 搭建对外联络的基础比如挂载文件系统、着手电池管理等其中会创建出一条叫zygote翻译受精卵 的进程从zygote进程开始就有Java相关的东西了zygote是 Android 系统中所有 Java 进程的父进程它会创建出ARTandroid 运行时环境加载框架层并fork出一条 SystemServer 进程SystemServer则会开启AMS、PMS、蓝牙等几十种android开发中经常用到的系统服务其中AMS会启动Launcher也就是桌面。桌面应用一启动开机也就算结束了进入了桌面。当你点击桌面的图标后launcher会采用binder方式向AMS发出startActivity的请求AMS用socket向zygote请求创建应用进程zygote随后fork出应用进程。新进程执行 ActivityThread.main()创建主线程并注册到 AMS。AMS 回调通知启动 Activity应用展示在桌面。

更多文章