«

Android启动过程及FrameWork初始化

时间:2024-3-2 20:06     作者:韩俊     分类: Android


Android启动时,

首先通过Bootloader加载Linux内核,

然后调用init进程对各种设备进行初始化,

运行FrameWork所需的各种Deamon,Context Manager,Media Server,Zygote等。

1、Context Manager

管理系统服务,

在系统启动时,Android所有系统服务都要把各自的handle信息注册到ContextManager中,

应用程序或FrameWork内部模块在调用系统服务时,需要先向服务管理器申请,而后通过Binder IPC调用系统服务。

2、Media Server

运行基于C/C++的本地系统服务,如 Audio Flinger,Camera等。

3、Zygote

Zygote进程用于缩短Android应用程序加载的时间。会派生一个用来执行Java应用程序的虚拟机子线程。

4、System Server

是Android系统的一个核心进程,由Zygote进程创建。

在System Server中可以看到它建立的Android中的绝大部分服务,如Activity Manager Service,Location Manager Service.

通过Binder IPC将System Server中的Java系统服务注册到基于C的Context Manager中,需要用到JNI(JNI 负责java与C/C++之间的交互)。

5、当System Server中所有Java系统服务加载完毕后,Activity Manager Service会运行HOME应用。

贴几张图瞧瞧:


        <p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>

标签: android

热门推荐