当fragment被用户可见时,setUserVisibleHint()会调用且传入true值,当fragment不被用户可见时,setUserVisibleHint()则得到false值。而在传统的fragment生命周期里也看不到这个函数。
1、viewpager监听切换tab事件,tab切换一次,执行一次setUserVisibleHint()方法
2、setUserVisibleHint() 在 上图所示fragment所有生命周期之前,无论viewpager是在activity哪个生命周期里初始化。
3、activity生命周期 和 fragment生命周期 时序并不是按序来的,也就是说fragment的oncreate方法时序并不一定在activity的oncreate方法之后。
4、在页面继续切换的过程中viewPager.setCurrentItem(pos)在setUserVisibleHint()方法之前进行调用。即,viewPager.setCurrentItem(pos) 设置之后就会执行setUserVisibleHint()方法。