您的位置:首页 > 移动开发 > Android开发

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

2014-04-03 16:06 525 查看
由于对网上流传的横竖屏切换生命周期文章的质疑,自己分别在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.csdn.net/w2865673691/article/details/24129913


不重新加载activity

在AndroidManifest.xml中targetSdkVersion要小于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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: