返回

寻迹活跃周期:Activity 补漏填缺

Android

Activity 的生命周期:舞台中的演出者

应用程序与用户交互的过程,本质上就是 Activity 闪亮登场,粉墨退场的过程。理解 Activity 的生命周期,犹如掌握舞台演出的一整套剧本。

Activity 状态漫游:从主角到配角,再到谢幕

四种基本状态赋予了 Activity 不同的权限和行为表现,为实现各种场景下的交互奠定了基础。

  • 活跃状态 (Active/Running): 舞台中央的主角,能够接收来自用户的输入、与用户进行实时交互,具备处理各种操作的能力。

  • 暂停状态 (Paused): 配角的休息时间,虽然用户无法与之互动,但依然保持可见状态,随时准备闪耀舞台。

  • 停止状态 (Stopped): 暂退幕后的演员,既不可见,也不能与用户互动,但依然驻留在后台。

  • 销毁状态 (Killed): 完成谢幕的演出者,从后台彻底消失,等待时机再次登场。

Activity 操作:开启、终止和销声匿迹

Activity 的生命周期与用户的行为息息相关,启动、停止和销毁操作也因此产生。

  • 启动 Activity: 拉开舞台序幕,让 Activity 闪亮登场。通常由用户点击按钮或图标触发,也可能由系统自动调用。

  • 停止 Activity: 暂停演出,暂时谢幕。通常发生在用户离开当前 Activity 或系统资源不足的情况下。

  • 销毁 Activity: 功成身退,彻底离开舞台。通常发生在用户明确关闭 Activity 或系统因内存不足而回收资源时。

从单例到多实例:Activity 的生存之道

Activity 存在两种实例模式:单例和多实例。默认情况下,每个 Activity 都遵循单例模式,即系统为每个 Activity 创建一个实例。而在某些情况下,比如启动模式为 singleInstance 或 singleTask 的 Activity,则会采用多实例模式,允许多个实例共存。

特殊状态:引领探索的幕后推手

除了四种基本状态外,Activity 还存在一些特殊状态,它们为理解 Activity 的行为提供了更深层次的视角。

  • 创建状态 (Created): 诞生伊始,Activity 刚刚被创建出来,但尚未出现在用户眼前。

  • 启动状态 (Started): 蓄势待发,Activity 已被创建并显示在屏幕上,但尚未获得焦点。

  • 恢复状态 (Resumed): 重返舞台,Activity 重新获得焦点,成为用户交互的中心。

系统服务:Activity 的贴心助手

Android 系统贴心地为 Activity 提供了一系列服务,帮助 Activity 完成各种任务。这些服务包括:

  • Context: Activity 的上下文信息,允许 Activity 访问系统资源和服务。

  • Intent: 携带数据和命令的信使,用于在 Activity 之间传递信息。

  • Resources: 系统提供的资源集合,包含字符串、图片、布局等元素。

结语:Activity 周游记的启示

了解 Activity 的生命周期及状态变化,就像观赏一场精彩的舞台剧,在追随剧情的同时,也领悟到背后的奥妙。掌握 Activity 的行为特性,有助于开发者构建出更流畅、更稳定的应用程序。