Android源码学习笔记:Context、ActivityThread和Activity的生命周期

原文链接:https://blog.csdn.net/tianyl_melodie/article/details/53424116

总结:

①在应用启动的时候,首先会创建一个进程process,然后创建ActivityThread这个对象。

②根据我们之前学习的Handler,可以知道,在ActivityThread的main方法中,会创建一个Looper和MessageQueue对象。

③在创建完Looper和MessageQueue对象后,还会创建一个ApplicationThread对象,并且拿到ActivityManagerService的远程代理对象,实现和ActivityManagerService的通信。

④创建一个H类的实例,而这个H类实际上是一个Handler对象。

⑤调用Looper.loop()方法,开始轮询消息队列。

⑥然后当要启动一个Activity的时候,通过ActivityManagerService通知ApplicationThreadNative,调用到onTransact方法。

⑦在onTransact中进行判断,调用到对应的实现类ApplicationThread的scheduleLaunchActivity方法。

⑧在scheduleLaunchActivity方法中,先创建对应的参数信息ActivityClientRecord,然后通过queueOrSendMessage发送消息。 ⑨Handler收到消息,在handleMessage中进行处理,在handleMessage中拿到对应的ActivityClientRecord进行,然后作为参数传入,并调用方法handleLaunchActivity方法。

⑩在handleLaunchActivity中通过mInstrumentation调用对应的生命周期。 到此,我们对于Context的实现类,、ActivityThread的创建和Activity的生命周期的基本分析也算是告一段落了,当然,对于Activity生命周期的分析并没有完全结束。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值