Android 解决横竖屏切换时,生命周期重新加载的问题

<activity
    android:name=".MainActivity"
    android:configChanges="screenSize|keyboardHidden|orientation"
    android:screenOrientation="sensor">

</activity>

以上配置都必须加

今天在做android视频开发的时候,发现当横竖屏切换时,视频会从播放状态回到初始的未播放状态,通过打印生命周

期发现,当屏幕的状态发生改变时,Activity的生命周期也重新被调用了。

后来通过百度,得到了解决方法:

在manifest中设置该Activity的configChanges为android:configChanges="screenSize|keyboardHidden|orientation",

这样当横竖屏切换时,Activity的状态也没有改变。

以下别人的总结,引用一下:

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

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

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

连接:https://blog.csdn.net/superyu1992/article/details/51679622

猜你喜欢

转载自blog.csdn.net/yijiaodingqiankun/article/details/81811984