viewpager中fragment的生命周期管理
博客专区 > i_bobby 的博客 > 博客详情
viewpager中fragment的生命周期管理
i_bobby 发表于4年前
viewpager中fragment的生命周期管理
  • 发表于 4年前
  • 阅读 9683
  • 收藏 3
  • 点赞 1
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

调试fragment的时候发现一个莫名其妙的事情,viewpager中包含4个fragment,其中第一个和第三个fragment是要联网取得数据的,如图:

界面刚进去的时候显示第一个fragment,通过log信息,我发现two fragment竟然”偷偷“走了一遍的生命周期!着实把我震惊了!

然后我滑动到two,发现第三个也“偷”了一遍生命周期,也就是说,手机在显示第二个不需要联网的fragment的时候联网了(因为走了three的生命周期)。

然后继续滑动到第三个fragment,发现one fragment执行了onpause和onstop,four fragment跑了生命周期。如图:

图片说明文字

到这里都清楚了,总结一下,就是viewpager显示fragment的时候不会仅仅显示展现的那个fragment,而是将前一个,后一个,和正在显示的fragment的生命周期都跑一遍,这可能也是为了能够更好地管理和显示fragment吧。

ps:

判断当前的fragement是否在当前显示用setUserVisibleHint,上文表示除了此法在生命周期上做文章全是扯淡,这个答案来自德问社区。

共有 人打赏支持
粉丝 12
博文 42
码字总数 19553
×
i_bobby
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: