Android活动生命周期:新活动开始时的州订单

Ily*_*okh 8 lifecycle android android-activity

如果我通过这种方式从Activity1启动Activity2:startActivity(Activity2);首先执行什么:onStop()(Activity1)还是onStart()(Activity2)?

他们同时或依次工作吗?如果一个接一个,什么是第一个?

所以一般来说:如果这个订单存在,第一个活动开始时第二个活动的状态顺序是什么?

SAU*_*_12 24

假设活动A通过调用StartActivity(Intent)方法启动活动B,然后生命周期调用如下: -

  • 一个onCreate()
  • 一个onStart()
  • 一个onResume()

现在按钮单击startActivity(intent)

  • 一个onPause()

  • B onCreate()

  • B onStart()

  • B onResume()

  • 一个onStop()

.....如果你按活动B的后退按钮,那么lifeCycle呼叫将.....

  • B onPause()

  • 一个onRestart()

  • 一个onStart()

  • 一个onResume()

  • B onStop()
  • B onDestory()

现在又有一个场景 "来自Activity A,通过在按钮点击时调用StartActivity(Intent)来启动Activity B,并在Activity B上的onstart()方法中使用finish()方法"

  • 一个onPause()

  • B onCreate()

  • B onStart()

  • 一个onResume()

  • B onStop()

  • B onDestory()


Viv*_*nde 14

在此输入图像描述

当我通过编程方式检查它时,它遵循所有步骤并且易于理解


fed*_*aol 11

根据文档,Activity2上的onStart在Activity1上的onStop之前被调用(或者,如果你愿意,os在Activity2上调用onStop之前等待Activity2上的onStart完成).

来自http://developer.android.com/guide/topics/fundamentals/activities.html:

生命周期回调的顺序是明确定义的,特别是当两个活动在同一个进程中而另一个正在启动另一个时.以下是活动A启动活动B时发生的操作顺序:

活动A的onPause()方法执行.活动B的onCreate(),onStart()和onResume()方法按顺序执行.(活动B现在具有用户焦点.)然后,如果活动A在屏幕上不再可见,则执行其onStop()方法.


小智 8

假设 ActivityAB通过Calling StartActivity(Intent)方法启动 Activity然后生命周期调用是这样的:-

  • A onCreate(), A onStart(),A onResume()

现在按钮点击 startActivity(intent)

  • A onPause(), B onCreate(), B onStart(), B onResume(),A onStop()

如果您从 Activity 按后退按钮,B则生命周期调用将是 .....

  • B onPause(), A onRestart(), A onStart(), A onResume(), B onStop(),B onDestory()


现在还有一个场景“从 ActivityA启动 Activity,B通过调用StartActivity(Intent)按钮单击并在 Activity 的finish()方法内使用方法”onstart()B

  • A onPause(), B onCreate(), B onStart(), A onResume(), B onStop(),B onDestory()


pio*_*rpo 2

关键是了解活动是如何开始的。当您在 startActivity() 方法中发布 Intent 时,您只需要求系统启动此活动。接下来系统尝试启动 Activity2 并向 Activity1 发送消息。顺序是不确定的,并且在不同情况下可能会有所不同。

当两个活动在同一个进程(应用程序)中工作时,看起来我的答案是错误的,正如丹尼尔·波波夫(Daniil Popov)所指出的:https ://developer.android.com/guide/components/activities/activity-lifecycle.html (协调活动部分)

  • 顺序确定 - http://developer.android.com/guide/components/activities.html#CoordinatingActivities (3认同)
  • Android 开发者网站已更新,“协调活动”部分位于 https://developer.android.com/guide/components/activities/activity-lifecycle.html (2认同)