Android 编程组件-Fragments 的生命周期与 Activity 的生命周期之间的关系
2013-03-14 21:10
567 查看
Fragments 诞生初衷
Android 在 3.0 的版本中引入了 Fragments 的概念,根据词海的翻译可以译为:碎片、片段。其目的主要是为支持大屏幕设备上更加动态和灵活的 UI 设计,比如平板电脑。由于平板电脑比手机拥有更大的屏幕显示,所以平板电脑就会有足够的空间来进行组件的交互和整合。Fragments 的设计不需要你来管理视图显示的复杂变化,而是通过将 Activity 的布局分散到 Framents 中,就可以在运行时修改 Activity 的外观,并且将这些改变保存到由这个 Activity 管理的一个返回栈中。
例如,在一个新闻应用程序中,两个并排显示在同一个 Activity 中的 Fragment,一个 Fragment 在左侧来显示文章列表,而另一个 Fragment 则在右侧来显示文章的内容,并且每一个 Fragment 都有自己的一套生命周期的回调方法来处理自身用户的输入事件。因此 Fragment 取代了以往使用一个 Activity 来选择文章,另一个 Activity 来阅读文章的模式,用户可以在同一个 Activity 中进行文章的选择和阅读。如下图所示:
Fragments 的生命周期
[b]Fragment 生命周期测试 Demo[/b]
源码及安装文件下载方式一:Fragment.zip
但是 Fragment 的生命周期并不是孤立存在的,而是与 Activity 的生命周期有着密切的联系,下图为当 Fragment 显示到前台时 Activity 和 Fragment 生命周期的交互过程:
当点击回退键 Activity 退出销毁的时候, Activity 和 Fragment 生命周期的交互过程如下图所示:
Android 在 3.0 的版本中引入了 Fragments 的概念,根据词海的翻译可以译为:碎片、片段。其目的主要是为支持大屏幕设备上更加动态和灵活的 UI 设计,比如平板电脑。由于平板电脑比手机拥有更大的屏幕显示,所以平板电脑就会有足够的空间来进行组件的交互和整合。Fragments 的设计不需要你来管理视图显示的复杂变化,而是通过将 Activity 的布局分散到 Framents 中,就可以在运行时修改 Activity 的外观,并且将这些改变保存到由这个 Activity 管理的一个返回栈中。
例如,在一个新闻应用程序中,两个并排显示在同一个 Activity 中的 Fragment,一个 Fragment 在左侧来显示文章列表,而另一个 Fragment 则在右侧来显示文章的内容,并且每一个 Fragment 都有自己的一套生命周期的回调方法来处理自身用户的输入事件。因此 Fragment 取代了以往使用一个 Activity 来选择文章,另一个 Activity 来阅读文章的模式,用户可以在同一个 Activity 中进行文章的选择和阅读。如下图所示:
Fragments 的生命周期
Fragment-----onAttach() |
Fragment-----onCreate() |
Fragment-----onCreateView() |
Fragment-----onActivityCreated() |
Fragment-----onStart() |
Fragment-----onResume() |
Fragment-----onPause() |
Fragment-----onStop() |
Fragment-----onDestroyView() |
Fragment-----onDestroy() |
Fragment-----onDetach() |
源码及安装文件下载方式一:Fragment.zip
但是 Fragment 的生命周期并不是孤立存在的,而是与 Activity 的生命周期有着密切的联系,下图为当 Fragment 显示到前台时 Activity 和 Fragment 生命周期的交互过程:
当点击回退键 Activity 退出销毁的时候, Activity 和 Fragment 生命周期的交互过程如下图所示:
相关文章推荐
- Android Fragments 与 Activity 生命周期之间的关系
- android发现之旅之ViewRootImpl,Activity,Window,DecorView之间的关系
- Android 中的Activity、Window、View之间的关系
- android 网络编程--socket tcp/ip udp http之间的关系
- Android Interview Preparation——四大组件【Activity生命周期】
- 细讲Android中Window、Activity和View之间的关系
- 野人学Android第二弹——多Activity之间的生命周期的规律摸索及多个Activity同时销毁的实现
- [Android_UI控件]Activity、Window、View之间的关系
- android4.0.1 Activity的Window,DecorView 之间关系的建立过程分析
- Android四大组件之Activity篇(二)(Activity的生命周期)
- Android笔记(9)---Fragment的生命周期以及在Activity之间的传值
- 一句话、一张图记住Activity和Fragment之间错综复杂的生命周期关系
- Android学习之横竖屏切换与Activity生命周期的关系
- android自学第五天 Activity生命周期以及Activity之间的传值
- Android开发学习笔记(三):关于fragment_main.xml、activity_main.xml与主函数之间的关系
- Android Activity之间跳转 生命周期变化详解
- Android Application与thread、stack、task、activity之间的关系
- Android Activity/Service/Broadcaster三大组件之间互相调用
- Android - 界面跳转,显式/隐式意图,四大组件之Activity,Activity生命周期,横竖屏,任务栈启动模式
- Android中Activity、Window和View之间的关系