vp滑动切换fragment的生命周期(懒加载思路提供)

前言:

本文以市面上常见的架构为例子,剖析fragment的声明周期

 

 

 

 

 

以下为正文->

1.打开页面

可以看到setUserVisibleHint方法首当其冲,优先于fragment的所有生命周期方法调用

随后是onAttach和onCreate两个生命周期的执行,

一直到onResume生命周期这里,

两个fragment的生命周期是交互执行的

 

 

2.这里切换到第二个fragment

ViewPager预加载特性,会预加载响铃的两个fragment,此时需要做懒加载操作,

一般在setUserVisibleHint方法里面做操作

详情请看fragment懒加载思路

 

3.然后是第三个fragment

非相邻fragment,视图会被销毁 

 

 4.第4个fragment

非相邻fragment,视图会被销毁 

 

5.回到第三个fragment

这里,之前被销毁的fragment(相邻fragment)重新创建了视图

 

 

6.回到第二个fragment

非相邻fragment被销毁视图

这里,之前被销毁的fragment(相邻fragment)重新创建了视图

 

7.回到第一个fragment

非相邻的fragment会被销毁视图

setUserVisibleHint为true,说明已经进入可见状态

 

8.锁屏&解锁的操作

 这里会进行失去焦点,获取焦点

 

 9.后台&前台

可以看到,和锁屏走的生命周期一致

 

10.退出APP

这里依次执行了 onPause  onStop   onDestroyView  onDestroy    onDetach

 

 

viewpager让人又爱又恨,

最主要的是因为他的预加载,

有些业务场景需要我们对fragment的声明周期了解的足够清楚,

才能知道自己在哪个方法里面做懒加载操作,

最后,再重复一下->fragment懒加载思路

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值