Android基础——控件的混合生命周期

一、Activity下的Fragment生命周期

Android官方给出:基本情况下Activity与Fragment的生命周期对应关系如下图:
这里写图片描述
图1.0 静态布局情况下fragment与Activity的生命周期对应图

这个生命周期的严格对应关系成立条件为:fragment通过静态布局的方式插入到Activity的布局中。但是通过FragmentManager动态管理的时候就有些许差别了。


* FragmentManager动态管理Fragment的生命周期:*


这里演示的是动态加载的Fragment(通过FMManager),其实通过xml静态插入的Fragment基本生命周期根下面是一样的,有些许不同(如上图1.0⬆️)。不同的原因是Activity里面的onCreate()方法下会调用
到setContentView()加载静态布局,这个方法会按照深度优先的算法解析xml里面的View树结构,加载嵌套在里面的的Fragment以及View。而动态加载的Fragment的生命周期总体时依附于Activity,但是由于不会在
setContentView()中得到解析构造,因此生命周期前面部分(onAttach、onCreate、onCreateView、onActivityCreated()、onStart、onResume)未与用户交互的阶段,这些周期调用时机随着在Activity生命周期的不同时刻
通过FragmentManager加载会有不同的表现。

假设:Activity:A。 Fragment: F1、F2 通过FragmentManager 在onCreate()方法进行Fragment的add。

(1)Fragment自身生命周期

阶段一:启动时
A-onCreate()
F1-onAttach()
F1-onCreate()
F2-onAttach()
F2-onCreate()
F1-onCreateView()
F1-onViewCreated()
F1-onActivityCreated()
F2-onCreateView()
F2-onViewCreated()
F2-onActivityCreated()\
F1-onStart()
F2-onStart()
A-onStart()
A-onResume()
F1-onResume()
F2-onResume()
A-onAttachedToWindow()
阶段二:按Home/菜单键
F1-onPause()
F2-onPause()
A-onPause()
F1- onSaveInstanceState()
F2-onSaveInstanceState()
A-onSaveInstanceState()
F1-onStop()
F2-onStop()
A-onStop()
阶段三:从阶段二返回
A-onRestart()
F1-onStart()
F2-onStart()
A-onStart()
A-onResume()
F1-onResume()
F2-onResume()
阶段四:直接按下Back键返回
F1-onPause()
F2-onPause()
A-onPause()
F1-onStop()
F2-onStop()
A-onStop()
F1-onDestroyView()
F1-onDestroy()
F1-onDetach()
F2-onDestroyView()
F2
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值