Android init process

本文详细介绍了Android系统的启动过程,从init进程开始,讲解了Zygote的启动方式及SystemServer的初始化过程。此外,还涉及到了关键的服务启动,如媒体服务等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

init.c

start services according init.rc.

console/adbd/servicemanager/zygote/media.....

 

ZygoteInit.java    

---- startSystemServer -----Zygote.forkSystemServer [vm/InternalNative.c]

com_android_internal_os_ZygoteInit.cpp

 

SystemServer.java

init1  -------init2

Call init2 function in JAVA class named com.android.server.SystemServer, whose source is in device/java/services/com/android/server. This function is very critical for Android because it start all of Android JAVA services .

Finally SystemServer::init2 will call ActivityManagerService.systemReady to launch the first activity by senting Intent.CATEGORY_HOME intent

 

ref: Android init process

 

-------------------------------------------------

services:

main_mediaserver.cpp 

(meidaserver is behand zygote, for mediaserver will start most of the media componet with java)

use defaultServiceManager to see the who is ues sm  ---  all about media.

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值