系统配置发生变更时 activity状态保持

当系统配置如屏幕方向发生变化时,Android系统默认会销毁并重建Activity。为避免这种情况,可以设置Activity的screenOrientation属性固定屏幕方向,或者通过在AndroidManifest.xml中声明configChanges属性并在Activity中重写onConfigurationChanged()方法。此外,可以使用onSaveInstanceState(Bundle outState)保存状态并在onCreate(Bundle savedInstanceState)或onRestoreInstanceState(Bundle savedInstanceState)中恢复。对于Fragment,可以通过setRetainInstance(true)保持其状态,或在onActivityCreated(Bundle savedInstanceState)中恢复保存的数据。
摘要由CSDN通过智能技术生成

系统配置发生变更时,系统会 (重启 activity 对象 )

1、销毁原来的activity对象

2、重新创建 activity对象,初始化布局参数

1、限定屏幕方向
通常最容易遇到的系统配置发生变更,就是屏幕方向发生变化,可以通过限定屏幕方向来解决activity重启

在activity标签中添加screenOrientation属性  

android:screenOrientation="portrait"(禁止使用横屏)

2、系统处理配置变更

系统自动保存的状态:构成界面的每个视图状态(视图设置了ID)  系统不会保存成员变量状态的值
系统销毁activity时会调用onSaveInstanceState(Bundle onState)方法来保存activity状态
如:按下HOME键;被来电覆盖;屏幕旋转;锁屏;APP由前台转入后台时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值