复习一下Android系统的启动过程

来源:互联网 发布:js监听ios软键盘事件 编辑:程序博客网 时间:2024/06/08 05:21

再次将Android系统的启动过程复习了一下


linux启动后,会启动第一个用户级进程init(代码位置: system/core/init/init.c),init做的事情有很多,其中就包括了解析运行init.rc脚本。

脚本中会启动一个叫做Zygote的进程(代码位置:frameworks/base/cmds/app_process/app_main.cpp),Zygote做的事情包括:

Android Runtime

- Start a Dalvik VM

- Call Zygote's main()

Zygote

- Register Zygote socket

- Preload all Java classes

- Preload resources

- Start System Server

- Open socket

- Listen for connections

Zygote进程启动SystemServer进程之后,SystemServer进程做的事情包括:

For each service:

-Init service

- Reg. w/ Service Manager(Service Manager进程是在init进程解析init.rc脚本的时候创建的,Service Manager is started by init before any other service)




0 0
原创粉丝点击