关于Android启动过程

1. Linux内核。

Android是基于Linux内核的系统平台,启动的时候,首先通过bootloader,加载Linux内核。在Linux加载启动的时候,与普通的Linux启动过程相同,先初始化内核,然后调用init 进程。

2. init。

Android init进程对各种设备进行初始化,运行Android Framework所需用的各种Daemon、Context Manager、Media Server、Zygote等。

以下是init进程执行的Daemon进程。

  • USB Daemon(usbd):管理USB链接。
  • Android Debug Bridge Daemon (adbd):Android Debug Bridge链接管理。
  • Debugger Daemon(debuggerd):地宫Debugger系统。
  • Radio Interface Layer Daemon(rild):管理无限通信链接。

3. Context Manager

Context Manager是一个管理Android系统服务的重要进程。系统服务是组成Android Framework的重要组件,提供从相机、音频、视频处理到各种应用程序制作所需要的重要API。

Context Maneger提供运行与ANdroid内的各种系统服务信息。应用程序或Framework内部模块在调用系统服务的时候,需要先想服务管理器申请,然后通过Binder IPC调用系统服务。

在启动的时候,Android所有系统服务都要把各自的handler信息注册到COntext Manager,此时BinderIPC用来进行进程间的通信。

4. Media Server

Media Server用于运行基于C/C++的本地系统服务,如Audio Flinger(负责音频输出),Camera等。

5. Zygote

Zygote进程用于缩短ANdroid应用程序加载的时间,每当执行Java应用程序的时候,Zygote就会派生出一个紫禁城来执行应用程序,改紫禁城就是用来执行Java应用程序的虚拟机。

6. System Server

System Server是Android系统的几个核心进程,他是由Zygote进程创建的,在Android启动过程中位于Zygote之后。在System Server中可以看到它简历的Anroid中的大部分服务。如Activity Manager Service,Location Manager Service等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值