viewpager中fragment的生命周期管理

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

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

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

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

图片说明文字

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

ps: 社区

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

相关文章
相关标签/搜索