TestFragment: onInflate—填充fragment

TestFragment: onAttach—fragment依附activity

TestActivity: onAttachFragment—activity确认fragment依附

TestFragment: onCreate—创建fragment

TestFragment: onCreateView—创建fragment视图

TestFragment: onViewCreated—fragment视图创建完成

TestActivity: onCreate—创建activity

TestActivity: onStart—启动activity

TestFragment: onActivityCreated—fragment确认activity已创建

TestFragment: onViewStateRestored—还原视图状态?

TestFragment: onStart—启动fragment

TestActivity: onResume—渲染activity

TestActivity: onResumeFragments—activity通知fragment开始渲染

TestFragment: onResume—渲染fragment

TestActivity: onAttachedToWindow—activity和fragment实例创建和视图渲染完成,依附到窗口上

———-Click Back———-

TestActivity: onPause—activity进入暂停状态

TestFragment: onPause—fragment进入暂停状态

TestActivity: onStop—activity停止

TestFragment: onStop—fragment停止

TestActivity: onDestroy—activity销毁

TestFragment: onDestroyView—fragment视图销毁

TestFragment: onDestroy—fragment销毁

TestFragment: onDetach—fragment从activity中分离

TestActivity: onDetachedFromWindow—activity和fragment已完成分离和销毁,从窗口上分离


过程个人理解:

F(Fragmeng)先填充自己[onInflate],然后依附到A(Activity)[onAttach],依附完成由A确认依附成功[onAttachFragment],可能是因为有多个F依附同一个A的可能性,所以依附过程由F主动发起。依附完成后F开始依次创建自己[onCreate]、创建视图[onCreateView]、确认视图创建完成[onViewCreated]

多个F同时存在的情况下,执行顺序为onInflate1—onAttach1—onAttachFragment(A)—onCreate1—onCreateView1—onViewCreated1—onInflate2—onAttach2—onAttachFragment(A)—onCreate2—onCreateView2—onViewCreated2

F全部创建完成后,A开始创建[onCreate],创建完成后启动自己[onStart]并通知所有F自己已创建完成。

F收到A创建完成[onActivityCreated]的通知后还原自己的状态[onViewStateRestored],而后启动自己[onStart],此时A和F已全部create完成并start。

之后A开始渲染并呈现在屏幕上[onResume],此过程完成后A通知所有F**[onResumeFragments]开始渲染自己[onResume],A和F全部渲染完成后A依附到窗口上[onAttachedToWindow]**。

———-Click Back———-

A先进入暂停状态[onPause],而后F依次进入暂停状态[onPause]。之后A进入停止状态[onStop],F也依次进入停止状态[onStop]

A开始销毁[onDestory],F分别依次销毁视图[onDestoryView]、销毁自身[onDestory]、与A分离[onDetach]。全部完成后,A从窗口上分离[onDetachedFromWindow]


Activity生命周期图
Activity与Fragment生命流程


Fragment生命周期图
Activity与Fragment生命流程

相关文章:

  • 2021-05-02
  • 2021-11-15
  • 2021-12-23
  • 2021-12-30
  • 2021-09-21
  • 2021-06-05
猜你喜欢
  • 2021-05-28
  • 2022-12-23
  • 2021-11-02
  • 2021-11-26
  • 2021-07-23
  • 2021-09-23
  • 2022-12-23
相关资源
相似解决方案