Android启动过程笔记

这篇博客详细介绍了Android设备的启动过程,从zygote进程的启动,到system_server进程的启动,包括启动流程图、zygote的入口函数及system_server进程的调用栈。在system_server启动过程中,日志tag的变化标志着系统准备就绪。
摘要由CSDN通过智能技术生成

1、借用一张别人的启动流程图先直观感受下:

注意:zygote和servicemanager都是在init进程解析init.rc时启动的。

zygote进程的入口是/system/bin/app_process,入口函数是App_main.cpp的main()函数。

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
   class main
   socket zygote stream 660 root system
   onrestart write /sys/android_power/request_state wake
   onrestart write /sys/power/state on
   onrestart restart media
   onrestart restart netd

2、启动流程大概如下,第一个图是zygote进程启动,第二个图是system_server进程启动:




贴一个system_server进程调用栈直观感受下:

12-31 09:54:59.941585 757 757 W System.err: at android.os.Handler.dispatchMessage(Handler.java:103)

12-31 09:54:59.941627 757 757 W System.err: at android.os.Looper.loop(Looper.java:193)

12-31 09:54:59.941666 757 757 W System.err: at com.android.server.ServerThread.initAndLoop(SystemServer.java:1651)

12-31 09:54:59.941708 757 757 W System.err: at com.android.server.SystemServer.main(SystemServer.java:1746)

12-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值