由于对网上流传的横竖屏切换生命周期文章的质疑,自己分别在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