最近自己做点小项目练练手,用的是**viewpager+fragment+FragmentPagerAdapter适配器**这样一个框架
首先普及一下fragment的生命周期:
注意:下面我说的生命周期特指从onattach到onresume。
结果调试程序的时候发现一个莫名其妙的事情,viewpager中包含4个fragment,其中第一个和第三个fragment是要联网取得数据的,如图:
界面刚进去的时候显示第一个fragment,通过log信息,我发现two fragment竟然”偷偷“走了一遍的生命周期!着实把我震惊了!
然后我滑动到two,发现第三个也“偷”了一遍生命周期,也就是说,手机在显示第二个不需要联网的fragment的时候联网了(因为走了three的生命周期)。
然后继续滑动到第三个fragment,发现one fragment执行了onpause和onstop,four fragment跑了生命周期。如图:
到这里大家应该都清楚了,总结一下,就是viewpager显示fragment的时候不会仅仅显示展现的那个fragment,而是将前一个,后一个,和正在显示的fragment的生命周期都跑一遍,这可能也是为了能够更好地管理和显示fragment吧。但是在做项目的时候,尤其是需要联网的应用,最好不要直接用这样的一个方式,用户可不希望在看本地内容的时候应用在后面偷跑流量~~~~
声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息
原文作者: bingbu