Android系统启动流程、应用启动流程、Activity启动流程

本文详细阐述了Android系统从BootLoader到系统桌面的启动过程,包括zygote、system_server和ServiceManager的角色。接着,介绍了Android应用的启动流程,涉及AMS、ActivityStackSuperVisior和ActivityStack的交互。最后,解析了Activity的启动步骤,包括startActivity()、AMS的处理及生命周期回调。

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

Android系统启动流程、应用启动流程、Activity启动流程

一、Android系统的启动流程
1、开机,系统加电,执行BootLoader。BootLoader负责初始化软件运行需要的最小硬件环境,最后加载内核到内存
2、内核加载进内存后,首先进入内核引导阶段,在引导阶段的最后,调用start_kernel进入内核启动阶段。start_kernel最终启动用户空间的init程序
3、init程序负责解析init.rc配置文件,开启系统守护进程。两个最重要的守护进程是zygote进程和ServiceManager进程,zygote进程是Android启动的第一个Dalvik虚拟机,ServiceManager是Binder通讯的基础
4、zygote虚拟机启动子进程system_server,在system_server中开启了系统核心服务,并将系统服务添加到ServiceManager中,然后系统进入SystemReady状态。
5、在SystemReady状态,ActivityManagerService与zygote中的socket进行通信,通过zygote启动Launcher应用,进入系统桌面。

二、Android应用的启动流程
1、用户按下桌面上的App图标后,Launcher进程会将启动新的主活动的请求以binder的方式发送给AMS服务
2、AMS收到请求后,交付给A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xie_guo_rong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值