Fragment生命周期

来源:互联网 发布:淘宝办电工证是真的吗 编辑:程序博客网 时间:2024/06/11 10:01

     尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/

本文记录一下关于Fragment的生命周期函数在何时被调用的测试结果,以免下次再做同样的工作。

一、Fragment生命周期函数介绍


  关于这些函数的说明就不解释了。

二、FragmentManager的方法对Fragment生命周期的影响

1.add方法:被添加的Fragment onAttach->onCreate->onCreateView->onViewCreated->onStart->onResume

2.remove方法:被移除的Fragment onPause->onStop->onDestroyView->onDestroy->onDetach

3.replace方法:被移除的Fragment onPause->onStop->onDestroyView->onDestroy->onDetach

被添加的Fragment onAttach->onCreate->onCreateView->onViewCreated->onStart->onResume

4.hide方法: 不执行fragment生命周期你方法

5.show方法: 不执行fragment生命周期你方法

6.(remove方法或者replace方法)后调用addToBackStack方法: 被移除的Fragment onPause->onStop->onDestroyView

7.在上述第6中情况下,按back键或者把刚才移除的Fragment添加的FragmentManager:被添加的Fragment onCreateView->onActivityCreated->onStart->onResume


三、FragmentViewPager对Fragment的生命周期的影响

1.当Fragment所在的position1与当前显示的position2第一次满足   |position1-position2| <2 时:onAttach->onCreate->onCreateView->onViewCreated->onActivityCreated->onStart->onResume

2.当 position1与position2的关系从   |position1-position2| <2 变化为 |position1-position2| >=2 时,onPause->onStop->onDestroyView

3.position1与position2的关系从 |position1-position2| >=2变化为|position1-position2| <2 且 不是第一种情况 时onCreateView->onViewCreated->onActivityCreated->onStart->onResume


四、Activity生命周期对Fragment生命周期的影响

Activity生命周期函数被执行的时候会调用相应的Fragment的生命周期的方法。

比如:

1.Activity1启动Activity2,Activity2全部覆盖Activity1,则会执行Activity1的onPause->onStop,那么Activity1里面活着的Fragment也会执行onPause->onStop。

2.Activity1启动Activity2,Activity2不全部覆盖Activity1,则会执行Activity1的onPause,那么Activity1里面活着的Fragment也会执行onPause。

 





0 0
原创粉丝点击