Android 根Activity的启动过程

四大组件是应用开发最长接触的,包括Activity、Service、BroadcastReceiver、ContentProvider。本文不会介绍四大组件的含义及如何使用,而是深入的介绍他们的工作过程。本文是基于Android 8.0 源码,所以部分函数,以及一些中间类可能在低版本的源码中没有。1. 根Activity的启动过程Activity的启动有两种,一种是根Activity的启动过...
摘要由CSDN通过智能技术生成

四大组件是应用开发最长接触的,包括Activity、Service、BroadcastReceiver、ContentProvider。本文不会介绍四大组件的含义及如何使用,而是深入的介绍他们的工作过程。

本文是基于Android 8.0 源码,所以部分函数,以及一些中间类可能在低版本的源码中没有。

1. 根Activity的启动过程

Activity的启动有两种,一种是根Activity的启动过程,另一种是普通Activity的启动过程。根Activity值得是应用程序的第一个Activity,因此根Activity的启动过程一般情况下也可以理解为应用程序的启动过程。除去根Activity外,其他的为普通Activity。

根Activity的启动比较复杂,这里分3部分来讲述,分别是Launcher请求AMS过程,AMS到ApplicationThread的调用过程和ActivityThread启动Activity。

1.1 Launcher请求AMS过程

Android系统启动流程中提到过Launcher启动后,会将已安装应用程序的快捷图标显示到桌面上,这希尔应用程序的快捷图标就是启动根Activity的入口,当我们点击摸个应用程序的快捷图标是,就会通过Launcher请求AMS来启动该应用程序。Launcher请求AMS的时序图如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值