关于Android3.0以后版本屏幕旋转与生命周期的变化

本文详细介绍了在Android应用开发过程中,如何根据不同版本(2.3及之后)进行配置调整以避免Activity在旋转时被销毁。重点讨论了在AndroidManifest.xml中添加配置变化属性以及在Activity中重写onConfigurationChanged()方法的操作步骤,以确保应用在不同设备上的兼容性和流畅体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片源地址:http://www.oschina.net/question/54100_27841

正常情况下的Android 生命周期为上图中轴线从上向下直线到Destroy()

Android 2.3之前,如果Activity旋转 其生命周期将会从OnCreate()重新建立直到OnDestroy();如果需要调整在Activity旋转时不销毁原有Activity 2.3(包含)版本之前可以在AndroidManifest.xml中希望改变的<Activity ></Activity>中添加android:configChanges="orientation|keyboardHidden"属性,同时在相应的Activity代码中重写onConfigurationChanged()方法.这样,在Activity旋转时就只会执行代码中onConfigurationChanged()方法,不会将Activity整体销毁再重建.

以上操作仅限于Android 版本在2.3(包含)之前:如果需要更改的程序在2.3版本以后的机器上运行,以上操作无效:正确的操作为:

Activity 2.3版本之后可以在AndroidManifest.xml中希望改变的<Activity ></Activity>中添加Android:configChanges="orientation|screenSize"属性,同时在相应的Activity代码中重写onConfigurationChanged()方法.这样,在Activity旋转时就只会执行代码中onConfigurationChanged()方法,不会将Activity整体销毁再重建.   

千万注意以上的区别,尤其是高版本的程序开发.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值