Android activity启动和生命周期调用流程

1 Activity是有主线程ActivityThread启动,找到ActivityThread.java文件,找到其中的main函数。
在这里插入图片描述
2 可以看到在main函数中new了ActivityThread,并且调用了attach接口。
在这里插入图片描述
3 接着详细看attach接口,其中可以找到在这个接口中获取了activityManager,在这里插入图片描述
其中mAppThread是ApplicationThread对象,到这就可以看到将application交给了activityManager,其实activity是由系统的服务帮我们创建的。
在这里插入图片描述
4 进去ApplicationThread中,可以看到这个类中有一些和activity生命周期相关的接口
在这里插入图片描述
在这里插入图片描述
在这些接口中我们主要关注scheduleLaunchActivity这个接口,从接口的命名就可以看出来,这个是用来启动activity的,接着往下看,
在这里插入图片描述
可以看到这边调用了sendMessage(H.LAUNCH_ACTIVITY, r)并传入了LAUNCH_ACTIVITY。
5 进入sendMessage接口中最终会调用到如下的handler类
在这里插入图片描述
在这里插入图片描述
在handlerMessage中找到LAUNCH_ACTIVITY,这段代码中关注handleLaunchActivity接口。
6 进入handleLaunchActivity接口,看到如下代码
在这里插入图片描述
进入代码后可以发现
在这里插入图片描述
在这里调用了相应的onCreate接口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值