background image

Android 官方开发教程中文版

管理

Activity 的生存周期

管理

Activity 的生存周期

当用户通过导航离开然后又返回你的

App,App 的 Activity 实例在它们的生存周期内

在两个不同的状态之间转换。例如,

Activity 首次启动时成为系统的前台并接受用户的关

注,在这个过程中,

Android 系统在你的 Activity 上调用一系列生命周期方法设置用户界

面和其它组件。如果用户执行了一个启动另一个

Activity 或切换到其它 App 的动作,系统

调用生命周期的其它方法把

Activity 移到后台(Activity 不再可见,但实例和状态仍然完

好无损)。

在生命周期的回调方法中,你可以定义当用户离开和重新进入

Activity 时,Activity

的行为。例如,如果你正在创建一个流媒体视频播放器,当用户切换到其它

App 时,你可

以暂停视频并中断网络连接。当用户返回时,你再重新连接网络并允许用户从暂停点恢复
播放。

本课程解释了重要的生命周期回调方法,每个

Activity 实例接收和如何使用它们,使

Activity 执行用户期望的结果,并且当 Activity 不需要它们时,不会消耗系统资源。

启动

Activity

不像其它编程范例由

main()方法启动,Android 系统在 Activity 中通过调用对应生

命周期特定阶段的回调方法来启动代码。在启动

Activity 时有一系列的回调方法,销毁

Activity 时也有一系列的回调方法。

本节内容提供了大部分重要的生命周期方法的概览,并且展示了在创建

Activity 的新

实例时如何处理首个生命周期的回调。

理解生命周期回调

Activity 的生存期内,系统在一个阶梯状金字塔的序列中调用核心的生命周期方法。

也就是说,

Activity 生命周期的每一个阶段都是这个金字塔上的一个台阶。随着系统创建

新的

Activity 实例,每个回调方法都把 Activity 的状态向顶部移动一步,当到达顶部时,

Activity 运行在前台并可以和用户交互。

当用户开始离开

Activity 时,系统调用其它的回调方法把 Activity 的状态返回到金字

塔底部以消除

Activity。在某些情况下,Activity 仅仅移动到金字塔的中间并等待(例如

用户切换到其它

App),Activity 可以从这里回到顶部(如果用户返回了 Activity)并且

从用户离开的地方恢复。