Android四大组件之Activity

又一个大坑。

在学习 Activity 之前,先了解一下四大组件。

java 四大组件

四大组件分别为:Activity 、Service 、Broadcast 、ContentProvider。以下简单介绍下四个组件的功能。

Activity:提供一个界面让用户点击和各种滑动。

Service:可以在后台执行长时间运行操作而没有用户界面的应用组件。

Broadcast:一种广泛运用在应用程序之间传输信息的机制,通过发送 Intent 来传送我们的数据。

ContentProvider:内容提供者,他是用在不同的应用程序之间共享数据时,可以把一个应用的数据提供给其他的应用使用。

Activity

作用

  1. 一个 Activity 通常是一个界面,是四大组件唯一能被用户感知的。
  2. 每一个活动被实现为一个独立的类,并且是从活动基类继承过来的,
  3. Activity 之间通过 Intent 进行通信(Intent详情点击此处)。

生命周期

生命周期指在有用户参与的情况下,Activity 经历创建、运行、停止、销毁等正常的生命周期过程。

其对应的方法功能如下:

方法 调用时刻 使用场景
onCreate() 创建一个 Activity 对象,Activity 生命周期的开始。 初始化工作。
onStart() Activity 正在启动(此时 Activity 用户依然不可见)。 初始化工作>
onResume() 利用此方法回调时,说明 Activity 已经在前台可见(可与用户交互了)。 数据恢复、展示。
onPause() Activity 停止时或仍可见时(仍可见指被另一个 Activity 遮盖住一部分,如QQ消息弹窗)。 数据存储、停止动画、注销广播等操作。
onStop() Activity 不在UI最顶层或完全被挡住不可见时。 回收工作、资源释放
onRestart() 处于 onStop() 状态时重新回到 该Activity(如应用切换)。 数据恢复。
onDestory() Activity 即将被销毁时。 回收工作、资源释放。

启动模式

启动模式是指当启动一个新的 Activity 时选择的策略。一般情况下,所有的 Activity 均储存在栈中,根据场景及作用的不同可能会分配在多个不同的栈当中。启动模式分为以下四类:

启动模式 说明
standard 系统在启动任务时直接创建新的 Activity 。
singleTop 如果栈顶实例为当前需要创建的 Activity ,则不创建新的 Activity,直接通过调用其 onNewIntent() 使用栈顶实例。
singleTask 系统创建新的 task 并在 task 的根目录下实例化 Activity ,但如果该实例已经存在于单独任务中,则调用其 onNewIntent() 方法,其上面的元素被移除栈。
singleInstance 同 singleTask ,但该模式只允许 Activity 独立运行在一个 task 中,不允许有别的 Activity。

[^task]: 指在执行特定任务时与用户交互的一系列 Activity 。这些 Activity 按照各自的打开顺序排列在堆栈中。

启动过程

详见java Intent 简介

本文参考:

Android Intent学习笔记

「Android」四大组件,你真的都掌握了?

Android学习笔记三:用Intent串联activity

[Android Activity和Intent机制学习笔记

感谢您的支持
-------------本文结束感谢您的阅读-------------