返回归档
Android #android

四大组件-activity的学习

Android 四大组件 Activity 学习笔记

2025-09-20 1262 words 6 min read

Activity(活动)#

一句话#

Activity是一种展示组件,用户向用户直接展示一个界面,而且可以接受用户的输入信息从而进行交互。

概念:#

  • 一个 Activity 通常就是一个单独的屏幕(窗口)

  • Activity 之间通过 Intent 进行通信。

  • Android 应用中每一个 Activity 都必须要在 AndroidManifest.xml 配置文件中声明,否则系统将不识别也不执行该Activity。在 android stdio会自动生成,但 eclipse 需要自己手动添加

定义与作用:#

  • Activity 的中文意思是 活动,代表手机屏幕的一屏,或是平板电脑中的一个窗口,提供了和用户交互的可视化界面。一个活动开始,代表 Activity 组件启动,活动 结束,代表一个 Activity 的生命周期结束。一个 Android 应用必须通过 Activity 来 运行 和 启动,Activity 的生命周期交给系统统一管理。Activity 是用于处理 UI 相关业务的,比如加载界面、监听用户操作事件。

声明#

如需声明 Activity,请打开清单文件,然后添加一个 <activity> 元素作为 <application> 元素的子元素。例如:

<manifest ... >
<application ... >
<activity android:name=".ExampleActivity" />
...
</application ... >
...
</manifest >

此元素唯一的必要属性是 android:name,该属性用于 指定 Activity 的类名称。您也可以添加用于定义标签、图标或界面主题等 Activity 特征的属性。如需详细了解上述及其他属性,请参阅 <activity> 元素参考文档。

管理 Activity 生命周期#

一个 Activity 在其生命周期中会经历多种状态。您可以使用一系列回调来处理状态之间的转换。以下部分将介绍这些回调。在 Compose 应用中,不建议直接挂钩到这些回调。而是使用 Lifecycle API 来观察状态变化。如需了解详情,请参阅将 Lifecycle 与 Compose集成

为了在 activity 生命周期 的各个 阶段 之间导航 转场 ,Activity 类 提供六个 核心 回调 :onCreateonStartonResumeonPauseonStoponDestroy。当 activity 进入新状态时,系统会调用其中每个回调。

Image

onCreate#

次回调是必须实现的,会在系统创建Activity时触发,你的实现婴爱初始化Activity的基本组件

列如:你的应用应该在此处创建视图并将数据绑定到列表。

在 Compose 应用中,使用此回调通过 setContent 设置宿主可组合项,如下所示:

class MyActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Text(text = stringResource(id = R.string.greeting)) } }}

onCreate 完成后,下一个回调始终是 onStart

onStart#

onCreate 退出后,Activity 将进入“已启动”状态,并对用户可见。此回调包含 Activity 进入前台与用户进行互动之前的最后准备工作。

onResume#

系统会在 Activity 开始与用户互动之前调用此回调。此时,该 Activity 位于 Activity 堆栈的顶部,并会捕获所有用户输入。应用的大部分核心功能都是在 onResume方法中实现的。

The onPause 回调始终跟随 onResume

onPause#

当 Activity 失去焦点并进入 “已暂停”状态时,系统就会调用 onPause。例如,当用户点按“返回”或“最近使用的应用”按钮时,就会出现此状态。当系统为您的 Activity 调用 onPause 时,从技术上来说,这意味着您的 Activity 仍然部分可见,但大多数情况下,这表明用户正在离开该 Activity,该 Activity 很快将进入“已停止”或“已恢复”状态。

如果用户希望界面继续更新,则处于“已暂停”状态的 Activity 也可以继续更新界面。例如,显示导航地图屏幕或播放媒体播放器的 Activity 就属于此类 Activity。即使此类 Activity 失去了焦点,用户仍希望其界面继续更新。

不应 使用 onPause 来保存应用或用户数据、进行 网络呼叫或执行数据库事务。

onPause 执行完毕后,下一个回调为 onStoponResume,具体取决于 Activity 进入“已暂停”状态后发生的情况。

onStop#

当 Activity 对用户不再可见时,系统会调用 onStop。出现这种情况的原因可能是 Activity 被销毁,新的 Activity 启动,或者现有的 Activity 正在进入“已恢复”状态并覆盖了已停止的 Activity。在所有这些情况下,停止的 Activity 都将完全不再可见。

系统调用的下一个回调将是 onRestart(如果 Activity 重新与用户互动)或者 onDestroy(如果此 Activity 彻底终止)。

onRestart#

当处于“已停止”状态的 Activity 即将重启时,系统就会调用此回调。onRestart 会恢复 Activity 停止时的状态。

此回调始终跟随 onStart

onDestroy#

系统会在销毁 Activity 之前调用此回调。

此回调是 Activity 接收的最后一个回调。onDestroy 通常 实现是为了确保在销毁 Activity 或包含该 Activity 的进程时释放该 Activity 的所有资源。

四大组件-activity的学习
https://blog-5w0.pages.dev/posts/android-activity-component/
作者
weixiao
发布于
2025-09-20
许可协议
CC BY-NC-SA 4.0