码迷,mamicode.com
首页 > 移动开发 > 详细

Android源码——Activity组件的启动过程

时间:2016-08-07 23:02:57      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

Activity启动过程

 

Launcher启动MainActivity的过程主要分为6个步骤:

一、LauncherActivityManagerService发送一个启动MainActivity的进程间通信请求;

二、ActivityManagerService首先将MainActivity的信息保存下来,再向Launcher组件发送一个进入中止状态的进程间通信请求;

三、Launcher进入中止状态后,向ActivityManagerService发送一个已经进入中止状态的进程间通信请求;

四、ActivityManagerService启动一个新的应用程序进程

五、新的进程启动完毕,ActivityManagerService发送一个启动完成的进程间通信请求到ActivityThread

六、ActivityThreadMainActivity组件启动起来。

 

 

Activity在进程内启动过程

一、MainActivityActivityManagerService发送一个启动SubActivity进程间通信请求;

二、ActivityManagerService保存SubActivity组件信息,再向MainActivity发送进入中止状态的进程间通信请求;

三、MainActivity进入中止状态,并将状态返回给ActivityManagerService

四、ActivityManagerServiceSubActivity保存的组件发送给应用程序,将SubActivity启动起来。

 

一个Activity组件是在已经存在的应用程序进程中启动,还是在新的应用程序进程中启动,取决于以下两个因素:

Activity组件的的用户ID

Activity组件的android:process属性。

 

Task用来将一系列相关的Activity组件整合到一起,共同完成一个业务功能。这些Activity可以在不同的进程中,这使得Activity组件的重用性强。

 

以上内容阅读《Android系统源代码情景分析》第7章《Activity组件的启动过程》总结。

Android源码——Activity组件的启动过程

标签:

原文地址:http://www.cnblogs.com/ithaibo-sit/p/5747512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!