zoukankan      html  css  js  c++  java
  • Android 编程组件Fragments 的生命周期与 Activity 的生命周期之间的关系

    Fragments 诞生初衷

    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 生命周期测试 Demo

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

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

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

  • 相关阅读:
    eclipse恢复界面默认设置
    文件夹的拷贝
    文件的输入输出
    十进制转二进制,八进制,十六进制(查表法)
    数组元素的查找(折半查找)
    C++几个小函数
    C++ 内部排序(一)
    C++实现链表
    C++输出IP地址段内的合法地址
    我看软件工程师的职业规划
  • 原文地址:https://www.cnblogs.com/sunzn/p/2960355.html
Copyright © 2011-2022 走看看