fragment add hide show
1. fragment 生命周期
onAttach - onCreate - onCreateView - onActvityCreated - onStart - onResume - onPuase - onStop - onDestoryView - onDestory - onDettach
fragment携带的argments在onAttach之后的周期皆可取到
2. add show hide 模式下,如果add多个fragment ,再hide不需要展示的fragment时 , 被hide的fragment 会多经历 onHiddenChanged 方法,其调用时机在onCreate - onCreateView 之间,即:
onAttach - onCreate - onHiddenChanged - onCreateView - onActvityCreated - onStart - onResume - onPuase - onStop - onDestoryView - onDestory - onDettach
被展示的fragment并不会经历 onHiddenChanged ,并且调用isHidden()时默认返回false
hide show 时会调用onHiddenChanged,只影响可见性变化的fragment 。
3. viewpager + fragment 模式下,fragment 可见性的关键方法是setUserVisibleHint(boolean visible),并且setUserVisibleHint调用在fragment的生命周期之前,setOffscreenPageLimit 默认是1,意思是除了当前展示的fragment还会初始化相邻的fragment,切换的时候会销毁超出limit的fragment,在展示此被销毁的fragment会再重建。

浙公网安备 33010602011771号