活动生命周期:如何在创建新活动之前出现在前台?

Activity Life Cycle: How can a new activtiy come to the foreground before being created?

提问人:Mehdi Charife 提问时间:2/11/2023 最后编辑:Mohammed sMehdi Charife 更新时间:5/1/2023 访问量:49

问:

在阅读这篇文章中的几个答案时,这个答案中的以下段落让我处于困惑状态:

onPause(): 当活动进入后台,但尚未(尚未)终止时,作为活动生命周期的一部分调用。与 onResume() 对应。当活动 B 在活动 A 之前启动时,将在 A 上调用此回调,直到 A 的 onPause() 返回后才会创建 B,因此请确保不要在此处执行任何冗长的操作。

以上似乎暗示了以下事件的顺序:

  1. B在A前面发射;
  2. onPause()在 A 上调用;
  3. onPause()返回;
  4. 创建 B。

我不明白的是,第一个事件如何先于第四个事件,即 B 如何在首先被创建之前启动并出现在 A 之前

Android 事件 android-activity oncreate onpause

评论

1赞 CommonsWare 2/11/2023
混淆句子的更好措辞可能是:“当请求在活动 A 之前启动活动 B 时,将在 A 上调用此回调”。
0赞 Mehdi Charife 2/11/2023
@CommonsWare 那么实际上,在 B 出现在前景之前,A 就被召唤了?onPause()
1赞 CommonsWare 2/11/2023
老实说,我已经很多年没有尝试过在那个级别进行检查了。您可能希望运行自己的实验!我只是习惯了谷歌倾向于如何编写他们的文档,以及如何尝试“修补”令人困惑的措辞。
1赞 Armin 2/12/2023
1- 您请求启动 B. 2- B 尚未启动,也不可见。3- 的 A 被称为。4- 已完成 5- B 现已启动并可见。onPauseonPause
1赞 Armin 2/12/2023
为了获得这个想法,你可以在 A 和 B 生命周期方法中添加一些日志,例如 , , ...以查看调用这些方法的顺序。onCreateonStart

答: 暂无答案