Android - onCreate() 后是否立即调用 onStart() 方法?

4
如果我有两个活动 A 和 B。并且我在 activity A 的 onCreate() 方法中创建一个意图,以启动 activity B,那么 activity A 的 onStart() 方法将在何时被调用?
例如,假设我有以下内容:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Intent intent = new Intent(this, B.class);
    startActivityForResult(intent, REQUEST_CONNECT_DEVICE);
}

这些代码执行完毕后,activity B 会先被创建还是 onStart() 方法会立即被调用?


1
你可以通过添加一些日志轻松找出。 - Emmanuel
当Activity A被Activity B立即推到后台时,它是否有机会启动?如果Activity B是半透明的呢?有很多情况需要考虑。以一种方式构建它,使你不依赖于事件的具体顺序。不要制造人为的问题。 - Eugen Pechanec
1个回答

2

工作流程

基本的Android活动生命周期

当应用程序打开时:onCreate() > onStart() > onResume()

当应用程序关闭时:onPause()

在您的情况下,以下是工作流程:

动作1:打开Activity A

  • 调用Activity A的onCreate()

动作2:启动Activity B

  • 调用Activity A的onStart()
  • 调用Activity A的onResume()
  • 调用Activity A的onPause()

  • 调用Activity B的onCreate()

  • 调用Activity B的onStart()
  • 调用Activity B的onResume()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接