测试android横竖屏切换、按home键、按返回键所触发的生命周期

本文通过实测详细介绍了Android应用在横竖屏切换、按下Home键、返回键时的生命周期变化。针对不同Android版本和配置在AndroidManifest.xml中的configChanges选项,总结了相应的生命周期方法调用顺序。

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

由于对网上流传的横竖屏切换生命周期文章的质疑,自己分别在android模拟器(Android4.3)和真机(小米m1,android4.0)进行测试,测试结果如下:


程序运行:onCreate()->onStart()->onResume()

按home键:onPause()->onSaveInstanceState()->onStop()

 然后点程序图标进入触发:onRestart()->onStrart()->onResume()

按返回键:onPause()->onStop()->onDestroy()

 然后点程序图标进入触发:onCreate()->onStart()->onResume()

启动第二个Activity:onPause()->second onCreate()->second onStart()->second onResume()

->onSaveInstanceState()->onStop()(其中second 指的是第二个Activity的生命周期)

然后点返回键回到第一个Activity:second onPause()->onRestart()->onStrart()->onResume()

->second onStop()->second onDestroy()


横竖屏切换:

1)当清单文件androidManifest.xml不添加Android:configchanges时 或者 添加android:configChanges="orientation" 或者 添加android:configChanges="orientation|keyboardHidden"时,横屏切换成竖屏、竖屏切换成横屏都是触发一次:

 onPasue()->onSaveInstanceState()->onStop()->onDestroy()->onCreate()->onStrart()->onRestoreInstanceState()->OnResume()

       2)当清单文件androidManifest.xml添加android:configChanges="orientation|screenSize"

横屏切换成竖屏、竖屏切换成横屏都是触发一次:onConfigurationChanged



5.15补充:

摘自:http://blog.youkuaiyun.com/w2865673691/article/details/24129913

不重新加载activity

AndroidManifest.xmltargetSdkVersion要小于13

<uses-sdk

android:minSdkVersion="11"

 android:targetSdkVersion="12" />

Activity里增加:
android:configChanges="keyboard|orientation "

android3.2之后添加了一个新的参数screenSize如果android:targetSdkVersion大于等于13的话上面的取值就不对了,必须是:

android:configChanges="keyboard|orientation|screenSize"

为了适配所有手机,这个targetSdkVersion要小于13



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值