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

猜你喜欢

转载自blog.csdn.net/huangruqi888/article/details/79695591