我有三项 Activity A、B 和 C。
在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/