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

  • 相关阅读:
    将Python的Django框架与认证系统整合的方法
    将Python的Django框架与认证系统整合的方法
    Python的Asyncore异步Socket模块及实现端口转发的例子
    每天一个linux命令(3):du命令
    每天一个linux命令(2):file 命令
    Ubantu 使用extundelete恢复数据
    ubantu 单用户模式进入系统
    GDB 调试解析
    服务器搭建5 Samba实现文件共享
    服务器搭建4 安装其它库
  • 原文地址:https://www.cnblogs.com/sunzn/p/2960355.html
Copyright © 2020-2023  润新知