美文网首页
安卓横竖屏切换配置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