假设在重新创建活动时savedInstanceState永远为null,这是正确的吗?

时间:2017-10-11 09:43:49

标签: android android-activity android-lifecycle

在我的Android应用程序中,我需要知道活动是第一次创建(Context.startActivity()),还是在停止后重新创建(在被销毁后导航回活动)。 / p>

https://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)

看一下文档,在我看来,savedInstanceState的{​​{1}}将会

  • 如果首次创建活动,则始终为null
  • 如果活动在被销毁后重新创建,则永远不会为空

这是否正确,即使我没有实施Activity.onCreate()?我该如何测试这个假设?

2 个答案:

答案 0 :(得分:0)

通过实施safeAreaInsets,您将覆盖它。这意味着当你不覆盖它时它仍会被调用。要测试它,您可以将应用程序从纵向旋转到横向,反之亦然。它会破坏onSaveInstanceState并重新创建它。您将ActivityBundle合作。

答案 1 :(得分:0)

每当我们改变屏幕的方向时,活动生命周期序列就是onSaveInstaceState() - >的onPause() - >的onStop() - > onCreate() - > onStart() - > onRestoreInstanceState() - > onResume()因此,onSaveInstanceState()返回的默认值始终为null,它可以作为参数传递给onCreate()方法。