根据Android docs,活动生命周期如下:
问题是,假设我有两个活动(A和B)并且它们没有被异常杀死(内存不足等):
当一个人进入后台并且另一个人被恢复/创建时,执行顺序如何?
这种保证适用于任何特定订单吗?在每个Android版本中?
注册
答案 0 :(得分:5)
按照图表,您将了解当一项活动在后台进行而其他活动进入前台时会发生什么。
在第2步中,MainActivity从屏幕上消失,但被留在内存中并且没有被破坏。但是在第3步中,ActivityTwo在从屏幕上消失后就被摧毁了。并且在最后的第4步中,MainActivity被破坏了。
当Activity_A调用Activity_B时,这是bcos,Activity_B放在Task的顶部并获得焦点。 Activity_A保留在Task中但处于Stopped状态(不可见且未聚焦)。在此之后,当用户在Activity_B打开时单击“返回”按钮时,将从任务中删除Activity_B并将其销毁。而Activity_A现在位于任务的顶部并获得焦点。
活动按照打开的顺序存储在任务中(并添加到任务中)。它们未在任务内以任何方式排序或排序。任务中的活动集也称为后台堆栈。我会称之为 - stack。
图表(来自官方网站)演示了一个例子: