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 生命周期的交互过程如下图所示:

  • 相关阅读:
    06python 中的递归函数(python函数)
    05python 的内置函数以及匿名函数(python函数)
    Elasticsearch6.x集群部署
    SuperMap iServer之CAS单点登陆搭建流程
    大数据系列文章-Hadoop的HDFS读写流程(二)
    大数据系列文章-Hadoop基础介绍(一)
    SuperMap iObjects for Spark使用
    Hadoop集群+Spark集群搭建(一篇文章就够了)
    Linux配置 xampp下的https证书(腾讯云申请)
    SuperMap iServer 9D HBase使用
  • 原文地址:https://www.cnblogs.com/sunzn/p/2960355.html
Copyright © 2011-2022 走看看