版权声明:本文为博主原创文章,未经博主允许不得转载。 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...
总结
- Activity 的生命周期变化也会影响到和它绑定的Fragment。
所以要注意在发生旋转后的数据保存处理。