Activity在旋转屏幕时的生命周期

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shayubuhuifei/article/details/82854734

模拟器版本为 android5.0 (以下数据测试)

主要根据在AndroidManifest中配置configChanges参数决定

1. 不进行任何配置和配置android:configChanges="orientation"参数:

  • 启动 activity生命周期如下:
09-26 01:53:04.127 5376-5376/? D/TestApplication: onCreate...
09-26 01:53:04.135 5376-5376/? D/TestApplication: onStart...
    onResume...
  • 竖屏旋转横屏
09-26 01:57:06.180 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onPause...
09-26 01:57:06.181 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onStop...
    onDestroy...
09-26 01:57:06.222 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onCreate...
09-26 01:57:06.224 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onStart...
    onResume...
  • 横屏旋转为竖屏(和上面的一致)
09-26 01:57:33.069 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onPause...
09-26 01:57:33.070 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onStop...
    onDestroy...
09-26 01:57:33.103 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onCreate...
09-26 01:57:33.104 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onStart...
09-26 01:57:33.105 5376-5376/test.juyoufuli.com.testapplication D/TestApplication: onResume...

2. 配置 android:configChanges="orientation|screenSize>参数,监控屏幕旋转

screenSize:设备的屏幕的尺寸信息发生了改变,旋转屏幕时也会触发这个,但是这个值是API13之后才有的,因此13之前的设备没有这个。

  • 只会调用onConfigurationChanged方法,不会调用activity生命周期方法
09-26 02:21:42.594 15709-15709/test.juyoufuli.com.testapplication D/TestApplication: onConfigurationChanged...
09-26 02:22:51.193 15709-15709/test.juyoufuli.com.testapplication D/TestApplication: onConfigurationChanged...

总结

  1. Activity 的生命周期变化也会影响到和它绑定的Fragment。
    所以要注意在发生旋转后的数据保存处理。

猜你喜欢

转载自blog.csdn.net/shayubuhuifei/article/details/82854734