Android P onStart 在 onActivityResult 之前调用

Fad*_*lim 5 android activity-lifecycle android-activity onactivityresult

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

  1. 我用startActivityForResult活动 A 中调用活动 B
  2. 使用SetResult完成Activity B并返回到Activity A,之前的 Activity 生命周期是(在 Android P Preview 之前):
    1. 活动结果
    2. 开始时
    3. 在简历上

(这里还有一个帖子,确认了 OnActivityResult 和 OnResume这个订单的执行顺序)来自 rndstr 的回答

  1. 现在在测试Android P Preview 时,Activity 生命周期是:

    1. 开始时
    2. 活动结果
    3. 在简历上

Android文档https://developer.android.com/reference/android/app/Activity#onactivityresultonActivityresult应该来之前的onResume,它没有提到在onStart

有人可以帮忙吗?这是 Android P Preview 中的错误还是新行为?有没有很好的文档?

我正在使用 targetSDK:23

活动 A 是:SingleTask 活动 B 是:SingleTop

Dav*_*ser 5

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

文档onActivityResult()会在之前调用onResume(),它什么也没说onStart()

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