Android P onStart 在 onActivityResult 之前调用

Android P onStart called before onActivityResult

我正在试用新的Android P Developer Preview,场景如下:

  1. 我用 start[=96 从 Activity A 调用 Activity B =]ForResult
  2. 使用SetResult完成Activity B并返回Activity A,Activity 生命周期曾经是(在 Android P 预览之前):
    1. 上Activity结果
    2. onStart
    3. onResume

(这里还有一个 post 确认这个订单 Execution order of OnActivityResult and OnResume)来自 rndstr

的回答
  1. 现在在测试 Android P 预览时 Activity 生命周期是:

    1. onStart
    2. 上Activity结果
    3. onResume

Android 文档 https://developer.android.com/reference/android/app/Activity#onactivityresultonly onActivityresult 应该在 onResume 之前出现,它没有提到 onStart

有人可以帮忙吗?这是 Android P 预览中的错误还是新行为?有这方面的好文档吗?

我正在使用 targetSDK: 23

Activity A 是:SingleTask 和 Activity B 是:SingleTop

在我看来你已经回答了自己的问题!

The documentation says only that onActivityResult() will be called before onResume(), it says nothing about onStart().

onStart()onStop() 仅在您的 Activity 不可见时才会调用。这意味着如果您启动另一个 Activity 并且 Activity 没有完全覆盖屏幕,您的 Activity 将不会获得 onStop()onRestart()onStart() 仍然调用。因此,您不应该依赖它们,也不应该依赖它们的调用顺序。