gpt4 book ai didi

Android 间 Activity 生命周期

转载 作者:太空狗 更新时间:2023-10-29 16:41:12 24 4
gpt4 key购买 nike

根据 Android docs ,activity生命周期如下:

  • onCreate()
  • onStart()
  • onResume()
  • onPause()
  • onStop()
  • onDestroy()

问题是,假设我有两个 Activity (A 和 B)并且它们没有被异常终止(内存不足等):

一个进入后台,一个恢复/创建,执行顺序如何?

  • ...
  • A.onPause()
  • B.onCreate()
  • A.onStop() -- B.onStart() 同时进行
  • B.onResume()
  • ...

此保证是否适用于任何特定订单?在每个 Android 版本中?

重新开始

最佳答案

按照图表,您将了解当一个 Activity 进入后台而另一个 Activity 进入前台时会发生什么。

enter image description here

在步骤 2 中,MainActivity 从屏幕上消失,但留在内存中并没有被销毁。但是在第 3 步中,ActivityTwo 在它从屏幕上消失后就被销毁了。而在第4步最后MainActivity被销毁。

这是Activity_A调用Activity_B时的bcos,Activity_B被放在Task的最上面并获得焦点。 Activity_A 保留在 Task 中,但处于 Stopped 状态(不可见且未获得焦点)。此后,当 Activity_B 打开时用户单击后退按钮时,Activity_B 将从任务中删除并销毁。 Activity_A 现在位于任务的顶部并获得焦点。

Activity 按照它们被打开(并添加到任务)的相同顺序存储在任务中。它们在任务中没有以任何方式排序或排序。 Task 中的 Activity 集合也称为 back stack。我将称之为 - 堆栈。

图表(来自官方网站)演示了一个例子:

enter image description here

关于Android 间 Activity 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17607181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com