【Android】图文解密Android ActivityManagerService

1、简介

ActivityManagerService(AMS)是一个很重要的系统服务,下面首先从类图来了解一下AMS及Activity的大家族,几个核心的类已用颜色区分。

在这里插入图片描述

2、启动

AMS在SystemServer中启动,时序如下图,可以看到Home是在AMS的systemReady中启动的。

在这里插入图片描述

3、Lifecycle

Activity的Lifecycle是一个很重要的概念,如下图。

在这里插入图片描述

Activity的Lifecycle的更多说明可参考:https://developer.android.com/guide/components/activities/activity-lifecycle。

Fragment与Activity的Lifecycle稍有不同,如下图。

在这里插入图片描述

Fragment的详细说明可参考:https://developer.android.com/guide/components/fragments。

4、Task&Stack

Activity的管理有个Task&Stack的概念,可以简单理解为Activity分组,表示了Activity间的关系,相关的类包括TaskRecord、ActivityStack、ActivityRecord,如下图。

在这里插入图片描述

Task&Stack相关的说明可参考:https://developer.android.com/guide/components/activities/tasks-and-back-stack。

5、Recents

Android可以查看最近的Activity,然后从中打开某一个Activity或者关闭它们,这个功能是SystemUI的一部分,详见:https://developer.android.com/guide/components/activities/recents。

6、多窗口

Android N开始支持多窗口,即分屏模式下的两个Activity同时出现,或者画中画模式,用法详见:https://developer.android.com/guide/topics/ui/multi-window。

7、Widget

Widget,即小插件,常在Home界面,可以不用打开App而处理一些事情,用法详见:https://developer.android.com/guide/topics/appwidgets/overview。

8、快捷方式

快捷方式,即Home上的快捷方式,如何添加快捷方式,可从xml中配置,也可从java中添加,详见:https://developer.android.com/guide/topics/ui/shortcuts/。

9、链接

链接,就是在一个地方打开另一个地方的东西,详见:https://developer.android.com/guide/topics/ui/shortcuts/。

10、startActivity

startActivity是一个经常用到的东西,一般有两种方式,一种是通过Activity直接启动,另一种是通过Context启动Activity。Android提供了两种监控、拦截Activity的方式,一种是ActivityMonitor,另一种是ActivityController。下图展示了从Activity中启动的流程。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值