1 前言

上篇介绍了什么是Activity,以及简单的启动Activity。这里就来说说它的生命周期。相信做过Vue开发、微信小程序开发,或者其他类似的开发都非常熟悉生命周期函数。存在生命周期,就不存在传统的main入口,二是在不同的应用加载时期加载不用的周期函数,当然在Vue中叫做钩子函数。下面就看看它有哪些生命周期函数:

2 生命周期函数

一个 Activity 在其生命周期中会经历多种状态。您可以使用一系列回调来处理状态之间的转换。

2.1 onCreate()

系统创建您的 Activity 时自动触发。必须实现此回调,在设个函数中应该初始化 Activity 的基本组件:例如,您的应用应该在此处创建视图并将数据绑定到列表。最重要的是,您必须在此处调用 setContentView() 来定义 Activity 界面的布局。
onCreate() 完成后,下一个回调将是 onStart()

2.2 onStart()

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

2.3 onResume()

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

onResume() 回调后面总是跟着 onPause() 回调。

2.4 onPause()

Activity 失去焦点并进入“已暂停”状态时,系统就会调用 onPause()。例如,当用户点按“返回”或“最近使用的应用”按钮时,就会出现此状态。
onPause() 执行完毕后,下一个回调为 onStop()onResume(),具体取决于 Activity 进入“已暂停”状态后发生的情况。

2.5 onStop()

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

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

2.6 onRestart()

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

此回调后面总是跟着 onStart()

2.7 onDestroy()

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

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

3 作用

良好的生命周期回调实现有助于确保您的应用避免:

  • 当用户在使用应用时接听来电,或切换至另一应用时崩溃。
  • 当用户未积极使用它时,消耗宝贵的系统资源。
  • 当用户离开应用并在稍后返回时,丢失用户的进度。
  • 当屏幕在横向和纵向之间旋转时,崩溃或丢失用户的进度。

4 示意图

安卓开发(4)-Activity生命周期
想举个案例来测试,不过还是算了。因为案例就是简单打印生命周期执行过程。


参考文档:
[1] Android开发文档-Activity简介
[2] Android开发文档-Activity生命周期


作者:无涯明月

真诚的希望这篇文章能够帮到您!如果你觉得这篇文章对您有帮助,不妨扫一扫下面的二维码加我微信,然后发个红包打赏一下。您的支持是我莫大的动力。真诚的祝愿大家学有所成!让我们一起加油!!!
安卓开发(4)-Activity生命周期
安卓开发(4)-Activity生命周期

相关文章: