您的位置:首页 > 移动开发 > Android开发

Android Fragment——与Activity生命周期的协调

2015-08-28 15:25 513 查看
拥有Fragment的Activity的生命周期直接影响了其中的Fragment的生命周期,这样,针对Activity的每一个生命周期的回调都会有一个类似的针对Fragment的回调。例如,当Activity收到onPause()回调时,在Activity中每个Fragment都会收到onPause()回调。

但是,Fragment有几个额外的生命周期回调方法,用来处理跟Activity的交互,以便执行诸如创建和销毁Fragment的UI的动作。这些额外的回调方法如下:

onAttach()

当Fragment已经跟Activity关联上的时候,这个回调被调用。Activity会作为onAttach()回调方法的参数来传递。

onCreateView()

创建跟Fragment关联的视图层时,调用这个回调方法。

onActivityCreated()

当Activity的onCreate()方法执行完之后,调用这个回调方法。

onDestroyView()

当跟Fragment关联的视图层正在被删除时,调用这个回调方法。

onDetach()

当从Activity中解除Fragment的关联时,调用这个回调方法。

像图3中说明的那样,Fragment的生命周期流收到持有这些Fragment的Activity的影响,在这个图中,你能看到每个连续的Activity状态决定了Fragment的那个回调方法可以被调用。例如,当Activity已经收到了onCreate()的回调之后,在Activity中的Fragment就不会再接收onActivityCreated()以上的回调了。



图3. 在Activity生命周期影响之下的Fragment生命周期

一旦Activity到达了被恢复的状态,你就可以自由的给这个Activity添加和删除Fragment了,只有Activity在恢复态时,Fragment的生命周期才能独立的改变。

但是,当Activity离开恢复态时,Fragment会再次被推进Activity的生命周期中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: