minifest中的设置如下:screenOrientation设置为"sensor"。

本人使用的是Android7.0版本 

1、新建一个Activity,并把各个生命周期打印出来(竖屏)下面是一个完整的activity的生命流程

2、竖屏转横屏

 

3、横屏转竖屏

该步骤在android6.0也是如此,不知道网上说的走两遍是哪个版本。

4、修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation",竖屏转横屏

5、修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation",横转竖

6、修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation|keyboardHidden|screenSize",竖屏转横屏

7、修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation|keyboardHidden|screenSize",横屏转竖屏

 总结

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

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

3、设置Activity的android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法