Activity与Fragment生命流程

本文详细解析了Android开发中Fragment与Activity的生命周期流程,包括创建、启动、渲染等关键阶段,并阐述了它们之间的交互顺序。

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生命周期图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值