Fragment 生命周期

来源:互联网 发布:上海淘宝代理运营 编辑:程序博客网 时间:2024/06/06 23:08


启动Fragment到运行状态


onAttach() —>  onCreate()—>   onCreateView() —>   onActivityCreated()—>    onStart() —>    onResume()


锁屏

onPause() —>  onStop()


解屏

onStart() —>   onResume()



切换到其他Fragment


第一个


onPause() —>   onStop() —> onDestroyView() —> onDestroy() —>   onDetach()

第二个


onAttach()—>   onCreate()—>  onCreateView()  —> onActivityCreated()—>   onStart()—>    onResume()



走一次生命周期图:

思前想后还是决定要带大家简单的走一趟生命周期图,加深大家对Fragment生命周期的理解:

①Activity加载Fragment的时候,依次调用下面的方法:onAttach -> onCreate ->onCreateView -> onActivityCreated -> onStart ->onResume

②当我们弄出一个悬浮的对话框风格的Activity,或者其他,就是让Fragment所在的Activity可见,但不获得焦点onPause

③当对话框关闭,Activity又获得了焦点:onResume

④当我们替换Fragment,并调用addToBackStack()将他添加到Back栈中onPause -> onStop -> onDestoryView!!注意,此时的Fragment还没有被销毁哦!!!

⑤当我们按下键盘的回退键,Fragment会再次显示出来:onCreateView -> onActivityCreated -> onStart -> onResume

⑥如果我们替换后,在事务commit之前没有调用addToBackStack()方法将Fragment添加到back栈中的话;又或者退出了Activity的话,那么Fragment将会被完全结束,Fragment会进入销毁状态onPause ->onStop -> onDestoryView -> onDestory ->onDetach




0 0
原创粉丝点击