我们先来看一下应用程序的配置文件AndroidManifest.xml,看看这两个Activity是如何配置的:
这里可以很清楚地看到,MainActivity被配置成了应用程序的默认Activity,而SubActivity可以通过名称“shy.luo.activity.subactivity”隐式地启动,我们来看一下src/shy/luo/activity/MainActivity.java文件的内容,可以清楚地看到SubActivity是如何隐式地启动的:
这里,首先创建一个名称为“shy.luo.activity.subactivity”的Intent,然后以这个Intent为参数,通过调用startActivity函数来实现隐式地启动SubActivity。
有了这些背景知识后,我们就来看一下SubActivity启动过程的序列图:

Step 1. Activity.startActivity
Step 2. Activity.startActivityForResult
Step 3. Instrumentation.execStartActivity
Step 4. ActivityManagerProxy.startActivity
Step 5. ActivityManagerService.startActivity
Step 6. ActivityStack.startActivityMayWait
Step 7. ActivityStack.startActivityLocked
Step 8. ActivityStack.startActivityUncheckedLocked