从Activity A跳到Activity B时:
1、如果B完全覆盖A,则会调用A的onPause方法,接着调用B的onCreate,onStart,onResume方法,最后调用A的onStop方法,按返回键时会调用B的onPause方法,接着会调用A的onRestart,onStart,onResume方法,最后调用B的onStop,onDestory方法。
2、如果B没有完全覆盖A(如B是对话框风格的Activity)或B是透明的Activity,则会调用A的onPause方法,接着调用B的onCreate,onStart,onResume方法,按返回键时会调用B的onPause方法,接着会调用A的onResume方法,最后调用B的onStop,onDestory方法。
切屏时:
代码切屏:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE),快捷键切屏:Ctr+F12
1、不设置Activity的android:configChanges时,ctr+F12和代码切屏会重新调用各个生命周期一次。
2、设置Activity的android:configChanges="orientation"时,按ctr+F12切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次,不执行onConfigurationChanged方法,在代码中切屏时只执行onConfigurationChanged方法。
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,ctr+F12和代码切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法