当前位置: 首页 > 知识库问答 >
问题:

关于活动和片段生命周期的问题

冯胤
2023-03-14

我从activityfragment组件跟踪生命周期方法的回调,我有很多问题。我需要你帮忙理解一些要点。

情景一:

Lyfecycle:

>

  • 活动:onCreate

    活动:onStart

    片段:onAttach

    片段:onCreate

    片段:onCreateView

    活动:onResume

    片段:OnResume。

    问题:

    情况二:

    与情况1类似,但现在fragmentactivity已加载,我按Home键:

    1. 活动:onpause
    2. 片段:onpause
    3. 活动:onstop
    4. 片段:onstop

    情况三:

    与情况2一样,带有片段的活动回到了前景。我记得,它们都具有stopped状态(因为调用了onstop)。

    1. 活动:OnStart
    2. 活动:OnResume
    3. 片段:OnResume
  • 共有1个答案

    冯卜鹰
    2023-03-14

    片段生命周期和活动生命周期并行工作。一旦活动和片段都被创建,它们生命周期之间的线性依赖就结束了。

    下图解释了这两个生命周期是如何相互连接的。

    注意,片段和活动的onstartonresum(类似地,onstoponpause)并行执行,不保证顺序。有时片断会优先于活动,反之亦然。

    唯一的保证是始终首先调用活动的oncreate。在此之后,碎片就会自行发挥作用。

     类似资料:
    • 我在Nexus9上遇到了一个问题。(系统版本AndroidMarshmallow)在AndroidMarshmallow之前的Android系统上,当包含fragmentA的活动状态停止时,将调用fragmentA顶部回调。当包含fragmentA的活动状态被销毁时,将调用fragmentA回调onDestroyView、onDestroy和onDetach。官方网站上描述了这些过程 最近,我发现

    • 在我的调试中,我注意到在片段上首先调用onpause/onstart/onstop/ondestroy,然后在它的活动上调用onResume,而onResume则相反--活动的onResume在它的片段之前首先调用。 为什么活动和片段之间的onpause/onstart/onstop与onResume的顺序不同?

    • 我在开始新活动时遇到了一些问题。在我的应用程序中,我设置了侦听意图的广播接收器(屏幕关闭)。当屏幕关闭时,我的应用程序应该开始新活动(当然在某些情况下。我没有制作垃圾邮件应用程序)。但有时不是。 我在清单中声明了活动“singleTop”,所以我也重写了“onNewIntent”方法。(我认为这很重要)但事情是这样的。 当手机进入睡眠状态并且满足某些条件时,屏幕上会出现两个图标(“我的活动”)。我

    • 我想了解Android中活动生命周期和片段生命周期之间的相互作用,所以我决定启动一个新项目并从这个页面复制代码 然后我想,为了提高我的理解力,在平板电脑上测试它,改变它的方向,看看它发生了什么(尽管可能不是为了这个目的)。通过logcat,我跟踪在活动和国家/地区片段上触发的主要事件,例如在activity Oncreate中,我写道: 这是我从纵向视图开始,然后旋转时得到的结果: TAG:活动:

    • 我从这里的开发指南中读到了android活动的生命周期。现在我混淆了哪部分代码驻留在哪种方法中,比如onCreate、onStart、onResume、onRestart、onPause、onResume、onStop和OnDestroy。你能帮我把它们放在正确的地方吗。而且,即使应用程序最小化,跟踪也应该继续。我有以下代码。 }

    • 除了在上一节说到的4个函数,还有2个函数只用于处理单个线程的启动和关闭,他们只作用于线程环境。 首先,建立一个基本扩展,根据你PHP源码树使用下面几个源文件。 config.m4 PHP_ARG_ENABLE(sample4, [Whether to enable the "sample4" extension], [ enable-sample4 Enable "sample4"