"don't keep activities" 模式的生命周期回调顺序

Lifecycle callback order with "don't keep activities" mode

我正在尝试查找有关以下场景的保证生命周期回调顺序的任何信息(仅对 onCreate、onResume、onPause 感兴趣):

  1. 不保持活动模式已启用。
  2. Activity A 启动 Activity B(对话 activity)并变得部分模糊。
  3. 用户按下主页按钮。
  4. 两个活动都被销毁了。
  5. 用户导航回应用。

那么,在步骤 (3)、(5) 之后保证的生命周期回调执行顺序是什么?

So, what is the guaranteed lifecycle callbacks execution order after steps (3), (5)?

第 3 步之后:

  • onStop()保证被调用
  • onDestroy() 保证。

第 5 步之后:

  • onCreate()
  • onStart()
  • onRestoreInstanceState()
  • onResume()

这些都保证被调用


我已经记录了生命周期回调,这是输出。

ActivityA开始ActivityB

  • 暂停
  • B 创建
  • B开始
  • B简历
  • 一个保存实例状态

主页按钮已按下

  • B暂停
  • 一站
  • B 保存实例状态

用户导航回应用程序

  • 一个创造
  • 一个开始
  • 一个 restoreInstanceState
  • 一份简历
  • 暂停
  • B开始
  • B简历

注:

  • ActivityB 的主题是 Theme.AppCompat.Dialog
  • Don't keep activities模式开启
  • 运行 在 Nexus 4 模拟器上,API 21