android - 当连续为两个不同的 Activity 调用 startActivity 时,第一个 Activity 不会调用 onCreate

标签 android

我有三项 Activity ABC

在A的onCreate()中,我在两个连续的语句中调用startActivity(...)来启动B和C。但是android不调用立即在 Activity B 上执行 onCreate()。 相反,当我按回 C 时,因为它位于堆栈顶部。然后它调用 B 上的 onCreate() 以及其他生命周期方法。

这是我的示例代码的样子。

public class A extends Activity {

  @Override 
  protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  startActivity(this, B.class); 
  startActivity(this, C.class);
  }
}

有什么线索可以解释为什么 Activity B 的 onCreate 调用被推迟吗?

最佳答案

简单来说,您将 startActivity 命令插入队列,而 B 正在等待轮到它。如果您想要 A -> B -> C,请从 B 的 onCreate 调用 C。

关于android - 当连续为两个不同的 Activity 调用 startActivity 时,第一个 Activity 不会调用 onCreate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384765/

相关文章:

安卓 :Programmatically created contact is not syncing with Gmail Account

java - 我的 Play 商店中的应用程序在修改compileSdkVersion后挂起

android - 如何在 Android 中使用 Fragment 中的按钮调用页面?

java - Android 列表页脚

android - Textview 与搜索栏对齐

java - 如何防止在 Android 应用程序中创建多个数据库?

android - 如何使用 Android Worker 观察最后发出的 WorkManager getWorkInfoByIdLiveData

android - Chromecast MediaRouteProviderService

java - 类似于 split() 的东西?

android - 如何像在 Photoshop Touch 应用程序中一样创建 ActionBar 菜单