返回

Android Fragment 生命周期详解:初探

Android

从零系统学 Android——4.2 Fragment 生命周期

在 Android 开发中,Fragment 是构建用户界面 (UI) 的基本模块,它允许开发人员将界面划分为独立且可重用的组件。为了确保 Fragment 在 Activity 的不同生命周期阶段保持适当的行为,它拥有自己的生命周期。

理解 Fragment 生命周期

Fragment 的生命周期与 Activity 的生命周期非常相似。它由以下阶段组成:

  • onAttach (onAttach()): Fragment 被添加到 Activity 时触发。
  • onCreate (onCreate()): Fragment 创建后触发。
  • onViewCreated (onViewCreated()): Fragment 的视图被创建后触发。
  • onStart (onStart()): Fragment 变为可见后触发。
  • onResume (onResume()): Fragment 与用户交互时触发。
  • onPause (onPause()): Fragment 与用户交互停止时触发。
  • onStop (onStop()): Fragment 不再可见时触发。
  • onDestroyView (onDestroyView()): Fragment 的视图被销毁时触发。
  • onDestroy (onDestroy()): Fragment 被销毁时触发。
  • onDetach (onDetach()): Fragment 从 Activity 中移除时触发。

Fragment 生命周期与 Activity 生命周期的关系

虽然 Fragment 的生命周期与 Activity 的生命周期相似,但并不是完全相同的。Fragment 的生命周期可以被看作嵌套在 Activity 的生命周期之内。当一个 Fragment 可见,并且它所关联的 Activity 处于运行状态时,这个 Fragment 也处于运行状态。当一个 Activity 进入暂停状态时,与它相关联的可见 Fragment 就会进入到暂停状态。

常见场景和最佳实践

了解 Fragment 生命周期有助于解决各种常见场景,例如:

  • 保存数据: Fragment 可以使用 onSaveInstanceState() 方法在 Fragment 被销毁时保存数据。当 Fragment 重新创建时,可以通过 onRestoreInstanceState() 方法恢复数据。
  • 处理配置更改: Fragment 可以使用 onConfigurationChanged() 方法处理配置更改,例如屏幕旋转。
  • 优化性能: Fragment 生命周期可以帮助开发人员优化应用程序的性能。例如,在 onPause() 方法中暂停耗时的任务,在 onResume() 方法中重新开始任务。

结束语

Fragment 生命周期是 Android 开发人员必须掌握的关键概念。通过理解 Fragment 生命周期,开发人员可以创建健壮且响应迅速的应用程序。在本文中,我们探讨了 Fragment 生命周期的各个阶段,并讨论了它们与 Activity 生命周期的关系。