核心服务 :Android Service 和 Nateive Service 共有50-80种
Android Service java实现的
Nateive Service C/C++实现
核心服务都是IPC 采用IBinder接口
ServiceManager 重要的服务
开机过程当中 启动数十个系统服务
当开机完成时 全部的核心服务启动完成
Android 开机过程
os 检测 linux kernel + Drivers + HW
init进程 读取init.rc 文件 (init.rc configuration 配置文件)
1.创建Runtime 进程 --- 创建serviceMangager
2.创建Zygote 进程 ---- 创建VM (Zygote 使用C++ /java实现的)
---- 创建System Server (Android Service 和 Native Service)
init 进程启动 server (system server 和 surfaceFinger 和 MediaServer)
Android app应用的启动
ActivityManagerSerVice启动一个app,通过socket请求zygote来fork一个进程给这个app