📜  Android Activity生命周期(1)

📅  最后修改于: 2023-12-03 15:13:20.011000             🧑  作者: Mango

Android Activity生命周期

在 Android 中, Activity 是应用程序界面的基本组成部分。Android 应用程序的生命周期是指Activity从创建到销毁的整个过程,其中包括三个重点问题:Activity的状态如何变化、状态如何变化的时序、各种状态都代表着哪些生命周期方法。该文章将对 Android Activity 生命周期进行详细介绍。

Activity 的状态

对于一个 Android 应用程序中的 Activity,它经历了生命周期的所有阶段。一个 Activity 可能处于以下三个状态之一。

  • 运行状态(Running): 程序在前台,且与用户进行交互。
  • 暂停状态(Paused): 程序不在前台,但是可见。
  • 停止状态(Stopped): 程序不在前台,且不可见。
Activity 生命周期的方法

Android为开发人员提供了丰富的回调方法,让开发人员在适当的时候对应用进行控制和管理。下面将逐个介绍每个方法的作用和触发时机。

  • onCreate(): 创建Activity时调用,用于进行初始化设置和进行启动功能。
  • onStart(): Activity变得可见时调用,用于实现程序功能初始化操作。
  • onRestart(): Activity之前被停止后重新启动时调用,用于记录临时数据的变化。
  • onResume(): Activity从暂停、停止状态变为运行状态时调用,主要用于激活界面更新。
  • onPause(): Activity正在停止或处于暂停状态时调用,主要用于记录临时数据的变化。
  • onStop(): Activity完全不可见时调用,主要用于保存应用程序状态和临时数据。
  • onDestroy(): Activity被销毁时调用,主要用于完成对象资源释放和处理其他清理工作。
生命周期时序

应用程序的生命周期是由系统自动控制和管理的。当应用程序运行时,系统会默认按照一定的流程进行处理。下图显示了 Android 应用程序的 Activity 生命周期的宏观概述。

![Lifecycle of an Activity][1]

该图表开始于创建一个 Activity 的过程,并结束于其销毁的过程。三种颜色的框体代表Activity,哪怕在暂停状态下,系统仍然会始终通过onResume来为用户更新信息。

Android 的 Activity 生命周期有其固定的流程,系统会在特定时间调用特定的方法。当Activity从后台切换到前台时,会触发以下方法:onStart()onResume()方法,Activity变成了可交互的状态;当Activity部分被遮盖时,会调用onPause()onStop()方法,Activity处于不可见的状态;当用户退出Activity时,将调用onDestroy()方法并结束Activity的生命周期。

实际应用

在实际使用中,开发人员必须了解应用程序的生命周期,以便根据实际应用的情况和需求为 Activity 添加必要的代码。此外,还要注意其中有一个众所周知的问题——旋转屏幕。

旋转屏幕时,Activity需要通过 onPause、onSaveInstanceState、onCreate、onRestoreInstanceState、onStart、onResume 等方法实现状态的保存和恢复操作。

开发人员可以通过适当的编辑这些方法以及其他回调函数,使Android应用程序适应其特定的功能需求。

结论

本篇文档主要介绍了 Android 应用程序的的生命周期和其中各种状态的方法,希望对开发人员有所帮助。熟练掌握 Android 应用程序的生命周期,可以轻松开发出适应各种情况的应用程序。在实际应用过程中,还需要根据具体情况添加合适的代码。

[1]: https://miro.medium.com/max/700/1*t_TpRKtIwicThDhfbtNjvg.png