Android 编程组件-Fragments 的生命周期与 Activity 的生命周期之间的关系

Fragments 诞生初衷

Android 在 3.0 的版本中引入了 Fragments 的概念,根据词海的翻译可以译为:碎片、片段。其目的主要是为支持大屏幕设备上更加动态和灵活的 UI 设计,比如平板电脑。由于平板电脑比手机拥有更大的屏幕显示,所以平板电脑就会有足够的空间来进行组件的交互和整合。Fragments 的设计不需要你来管理视图显示的复杂变化,而是通过将 Activity 的布局分散到 Framents 中,就可以在运行时修改 Activity 的外观,并且将这些改变保存到由这个 Activity 管理的一个返回栈中。

例如,在一个新闻应用程序中,两个并排显示在同一个 Activity 中的 Fragment,一个 Fragment 在左侧来显示文章列表,而另一个 Fragment 则在右侧来显示文章的内容,并且每一个 Fragment 都有自己的一套生命周期的回调方法来处理自身用户的输入事件。因此 Fragment 取代了以往使用一个 Activity 来选择文章,另一个 Activity 来阅读文章的模式,用户可以在同一个 Activity 中进行文章的选择和阅读。如下图所示:

Android 编程组件-Fragments 的生命周期与 Activity 的生命周期之间的关系_第1张图片

Fragments 的生命周期

Fragment-----onAttach()
Fragment-----onCreate()
Fragment-----onCreateView()
Fragment-----onActivityCreated()
Fragment-----onStart()
Fragment-----onResume()
Fragment-----onPause()
Fragment-----onStop()
Fragment-----onDestroyView()
Fragment-----onDestroy()
Fragment-----onDetach()

 

Fragment 生命周期测试 Demo

源码及安装文件下载方式一:Fragment.zip

但是 Fragment 的生命周期并不是孤立存在的,而是与 Activity 的生命周期有着密切的联系,下图为当 Fragment 显示到前台时 Activity 和 Fragment 生命周期的交互过程:

Android 编程组件-Fragments 的生命周期与 Activity 的生命周期之间的关系_第2张图片

当点击回退键 Activity 退出销毁的时候, Activity 和 Fragment 生命周期的交互过程如下图所示:

Android 编程组件-Fragments 的生命周期与 Activity 的生命周期之间的关系_第3张图片

 

你可能感兴趣的:(Android 编程组件-Fragments 的生命周期与 Activity 的生命周期之间的关系)