Android Activity and Fragment 生命

2019-05-30  本文已影响0人  维若

Fragment生命周期执行情况:

1.启动Fragment:onAttach()-->onCreate()-->onCreateView()-->onActivityCreated()-->onStart()-->onResume()息屏状态:onPause()-->onStop()

2.重新点亮屏幕:onStart()-->onResume()

3.退出:onPause()-->onStop()-->onDestroyView()-->onDestroy()-->onDetach()Fragment

4.被回收又重新创建(横竖屏切换):被回收执行onPause()-->onSaveInstanceState()-->onStop()-->onDestroyView()-->onDestroy()-->onDetach(),重新创建执行onAttach()-->onCreate()-->onCreateView()-->onActivityCreated()-->onStart()-->onResume();

1.onAttach() :Fragment已经关联到Activity,这个时候 Activity已经传进来了, 获得Activity的传递的值就可以进行与activity的通信, 当然也可以使用getActivity(),前提是Fragment已经和宿主Activity关联,并且没有脱离,有且只调用一次。

2.onCreate():初始化Fragment。可通过参数savedInstanceState获取之前保存的值。3.onCreateView():初始化Fragment的布局。加载布局和findViewById的操作通常在此函数内完成,但是不建议执行耗时的操作。

4.onActivityCreated():执行该方法时,与Fragment绑定的Activity的onCreate方法已经执行完成并返回,在该方法内可以进行与Activity交互的UI操作,所以在该方法之前Activity的onCreate方法并未执行完成,如果提前进行交互操作,会引发空指针异常。

5.onStart():启动Fragement 启动时回调,,此时Fragement可见。

6.onResume():Fragment处于活动状态,用户可与之交互。

7.onPause():Fragment处于暂停状态,但依然可见,用户不能与之交互。

8.onStop():Fragment完全不可见。

9.onDestroyView():销毁与Fragment有关的视图,但未与Activity解除绑定,依然可以通过onCreateView方法重新创建视图。

10.onDestroy():销毁Fragment对象。

11.onDetach():Fragment和Activity解除关联的时候调用。

上一篇下一篇

猜你喜欢

热点阅读