美文网首页
安卓横竖屏切换配置configChanges无效的问题

安卓横竖屏切换配置configChanges无效的问题

作者: 笑对浮华 | 来源:发表于2021-09-15 15:12 被阅读0次

安卓在横竖屏切换的时候,Activity在没有配置configChanges属性情况下会重新创建,重新创建可能会造成页面数据丢失。这时可以通过onSaveInstanceState()周期存储数据,在onCreate()onRestoreInstanceState()周期中取出数据做后续处理。当然除此之外还可以配置activity,使得屏幕发生变换的时候不重新创建,在AndroidManifest.xml中找到需要配置的activity,设置android:configChanges="orientation"属性,单单设置orientation这个值还不够,因为当项目编译时指定的minSdkVersion和targetSdkVersion大于13时,如果不额外指定screenSize属性,那么当屏幕发生旋转时还是会发生Activity重新创建。
所以,想要屏幕发生旋转时,Activity不重新创建的正确配置为android:configChanges="orientation|screenSize",即:

<activity
            android:name=".MainActivity"
            android:configChanges="orientation|screenSize"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

相关文章

网友评论

      本文标题:安卓横竖屏切换配置configChanges无效的问题

      本文链接:https://www.haomeiwen.com/subject/ognkgltx.html