Activity的启动

Android程序的启动首先最先启动的是Launcher程序(即可以理解为系统桌面),然后在由Launcher去通知和启动某个APP,而每个APP启动又是从Activity开始的。这一系列的过程都是在Launcher、Instrumentation、ActivityManagerProxy、ActivityManagerService、ActivityStack、ApplicationThreadProxy、ApplicationThread、ActivityThread、Handler等类中进行的,简单总结为五大步,如下:

一:Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity.

二:ActivityManagerService通过Binder通知Launcher进入Paused状态

三:Laucher通过Binder通知ActivityManagerService创建一个新的进程,来启动ActivityThread实例(就是为了让Activity运行在此ActivityThread中)

四:ActivityThread通过Binder将ApplicationThread类型的Binder传递给ActivityThreadService方便后续通信

五:ActivityManagerService通过ActivityThread启动Activity


参考博客:https://blog.csdn.net/luoshengyang/article/details/6689748

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值