Android活动和片段生命周期

时间:2014-07-09 17:51:47

标签: android android-lifecycle

link提供活动和片段生命周期的可视化。 但它并没有真正提到从活动触发片段的整个生命周期。 有人可以解释当用户更改设备方向时,将触发的方法序列(片段和活动)是什么? 这将是序列:

  1. Fragment.onPause,
  2. Fragment.onSaveInstance,
  3. Fragment.onStop,
  4. Fragment.onDestroy,
  5. Activity.onPause,
  6. Activity.onSaveInstance,
  7. Activity.onStop,
  8. Activity.onDestory,
  9. 活动再次创建......并正在运行
  10. 片段再次创建...并运行

1 个答案:

答案 0 :(得分:3)

刚刚创建了一个示例并为您进行了测试。我在MainActivity onCreate中附加了一个PlaceholderFragment。

当用户更改方向时,调用堆栈:

07-09 15:47:59.932: I/System.out(9756): Fragment onPause
07-09 15:47:59.952: I/System.out(9756): Activity onPause
07-09 15:47:59.952: I/System.out(9756): Activity onSaveInstanceState
07-09 15:47:59.952: I/System.out(9756): Fragment onStop
07-09 15:47:59.952: I/System.out(9756): Activity onStop
07-09 15:47:59.952: I/System.out(9756): Fragment onDestroyView
07-09 15:47:59.952: I/System.out(9756): Fragment onDestroy
07-09 15:47:59.952: I/System.out(9756): Fragment onDetach
07-09 15:47:59.972: I/System.out(9756): Activity onDestroy
07-09 15:48:00.072: I/System.out(9756): Fragment onAttach
07-09 15:48:00.072: I/System.out(9756): Fragment onCreate
07-09 15:48:00.172: I/System.out(9756): Activity onCreate
07-09 15:48:00.172: I/System.out(9756): Fragment onCreateView
07-09 15:48:00.172: I/System.out(9756): Fragment onActivityCreated
07-09 15:48:00.172: I/System.out(9756): Fragment onStart
07-09 15:48:00.172: I/System.out(9756): Activity onStart
07-09 15:48:00.182: I/System.out(9756): Activity onResume
07-09 15:48:00.182: I/System.out(9756): Fragment onResume

我还附上了以下代码,以便您尝试使用它。 (编辑:请参阅以前的代码编辑)

此外,Android开发者指南对ActivityFragment提供了很好的解释。