Android横竖屏切换

1、生命周期

一、不设置configChanges的状况下的生命周期以下所示:android

这里能够清晰得看到,Activity再次从新建立了。。。测试

二、设置android:configChanges="orientation|keyboardHidden|screenSize"的状况下的生命周期以下所示:spa

其中红色方框中的log是屏幕旋转后的,只要眼神没问题,依然能够清晰的看到,此次Activity并无从新建立,而是直接回调了onConfigurationChanged()方法,这样就避免了由于横竖屏切换而致使的Activity从新建立的问题。blog

2、说明和注意:

一、测试手机是小米8,Android 8.1.0生命周期

二、android:configChanges="orientation|keyboardHidden|screenSize"必须设置三个参数,少一个都不行,真机上测试,少一个 参数都会从新建立Activity;可是我想吐槽AS模拟器一下,一开始的时候我是用AS模拟器作的测试,模拟器是8.0的系统,我只写了orientation|keyboardHidden两个参数,在模拟器上就已经不从新建立Activity了,直接回调onConfigurationChanged()方法,可是小米8的真机上依然会从新建立Activity,因此之后作相似的测试最好用真机,模拟器毕竟是模拟器,就比如充气娃娃只能是个充气娃娃。。。it