Fragment切换时的生命周期

 

如果打开自动旋转,横屏和竖屏切换之后,Activity会销毁然后重新创建。

这样Fragment会重新创建,导致Fragment内容重叠。

 

解决方案:Activity 添加

android:configChanges="orientation|screenSize"

 Fragment生命周期图

 

a 通过Add hide show方式切换Fragment

Fragment第一次被显示调用Create,CreateView,Start,Resume等生命周期方法,以后简单的切换都不会再调用生命周期方法

只会调用onHiddenChange方法。

 

b 通过replace方法切换Fragment

被取代的Fragment调用Pause,Stop,DestroyView,Destroy等生命周期方法。

显示的Fragment调用Create,CreateView,Start,Resume等方法。

 

c 通过ViewPager的方式切换

无论创建或者切换,setUserVisibleHint总是先被调用,

不显示的Fragment可能会被pause, stop,destroyView,显示的时候走CreateView,start Resume等生命周期。

 

posted on 2018-11-27 16:54  legion  阅读(3662)  评论(0编辑  收藏  举报

导航