Android系统启动流程简单分析

BootLoader

  设备开机时,首先加载引导加载程序(BootLoader),加载相应的操作系统内核。

Linux内核启动

  Bootloader 加载 Linux内核,并将控制权转交给内核。内核负责初始化硬件(如 CPU、内存、存储设备等)并挂载根文件系统。

Init进程启动

  init是Android的第一个用户空间进程,PID为1。它负责加载系统的各种服务和进程。它会启动Zygote进程。

Zygote进程启动

  zygote 是 Android 应用进程的孵化器,它负责加载 Android 框架和应用程序的共享库,优化内存使用。
  Forking 进程:当有新的应用启动请求时,zygote 会通过 fork() 创建新的应用进程,而不是重新加载整个应用框架,这样可以加快应用启动速度。

SystemServer启动

  zygote 启动 SystemServer 进程,该进程是 Android 系统中管理各种服务的核心。
  服务注册:SystemServer 会启动并注册多个核心服务(如 ActivityManagerService、WindowManagerService、PackageManagerService 等),负责管理应用程序和系统资源。

Launcher启动

  Launcher 是 Android 系统的主界面,用户可以在此界面上访问和启动应用程序。
  启动过程:Launcher 的启动过程由 ActivityManagerService 控制,会创建一个 Launcher 进程并启动其主界面(MainActivity)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值