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。

posted @ 2021-09-05 14:18  周千  阅读(175)  评论(0编辑  收藏  举报