我个人对此处生命周期的理解是对Activity或者Fragment在app中不同状态的描述,比如创建,对用户可见,对用户可以操作等等。这些内容在其他的博客中大多有详细描述,这里补充下官方教程中Fragment与Activity生命周期一致的部分。如果不注意这个内容容易出现空指针的错误。
https://developer.android.com/guide/components/fragments?hl=zh-cn
与 Activity 生命周期协调一致
片段所在的 Activity 的生命周期会直接影响片段的生命周期,其表现为,Activity 的每次生命周期回调都会引发每个片段的类似回调。 例如,当 Activity 收到 onPause() 时,Activity 中的每个片段也会收到 onPause()。
不过,片段还有几个额外的生命周期回调,用于处理与 Activity 的唯一交互,以执行构建和销毁片段 UI 等操作。 这些额外的回调方法是:
onAttach()
在片段已与 Activity 关联时调用(Activity 传递到此方法内)。
onCreateView()
调用它可创建与片段关联的视图层次结构。
onActivityCreated()
在 Activity 的 onCreate() 方法已返回时调用。
onDestroyView()
在移除与片段关联的视图层次结构时调用。
onDetach()
在取消片段与 Activity 的关联时调用。
图 3 图示说明了受其宿主 Activity 影响的片段生命周期流。在该图中,您可以看到 Activity 的每个连续状态如何决定片段可以收到的回调方法。 例如,当 Activity 收到其 onCreate() 回调时,Activity 中的片段只会收到 onActivityCreated() 回调。
一旦 Activity 达到恢复状态,您就可以随意向 Activity 添加片段和移除其中的片段。 因此,只有当 Activity 处于恢复状态时,片段的生命周期才能独立变化。
不过,当 Activity 离开恢复状态时,片段会在 Activity 的推动下再次经历其生命周期。