Android横竖屏切换及其生命周期

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinnnnnner/article/details/78450367
  1. configChanges的作用

    • 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次;

    • 设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次;

    • sdkVersion<=12,设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。
      sdkVersion>13时,需设置android:configChanges="orientation|keyboardHidden|screenSize" 才可保证activity不被销毁重建。

  2. 横竖屏切换时的生命周期

    • android3.0之前:onResume() – onSaveInstanceState() – onPause(),即调用onPause()之前,调用onSaveInstanceState()。
    • android3.0之后:onResume() – onPause() – onSaveInstanceState() – onStop(),即调用onStop()之前,调用onSaveInstanceState()。

猜你喜欢

转载自blog.csdn.net/sinnnnnner/article/details/78450367