Activity的启动流程-第二篇
一、Activity的启动流程
activity的启动流程并不是指生命周期,而是执行startActivity()后程序的执行流程。
写过Android程序的都知道,要想跳转到另外一个Activity就要,设置好要跳转的页面和参数
Intent intent = new Intent();
....
startActivity(intent);
在执行startActivity方法后,该方法发送intent给Android系统,Android系统根据intent来创建Activity
1.可以细分为一下步骤:
Activity -> ActivityManagerService(检查AMS)
ActivityManagerService -> ApplicationThread
ApplicationThread -> Activity
在ActivityMangerService创建ApplicationThread,可以把Application看成是Binder,因为他实现了Binder。
2.调用startActivity实质是调用startActivityForResult方法。
3.在startActivityForResult中实质是调用了仪表Instrumentation的execStartActivity方法,然后就是第一篇所的通过Java反射创建Activity。