Andriod的activity生命周期分析

Andriod的activity生命周期分析_第1张图片

1.如果完全覆盖,那么执行onStop方法,部分覆盖只执行onPause

2.并不是所有的阻挡都会影响生命周期,例如Toast就不会影响生命周期


1.横到竖
onPause--onSaveInstanceState--onStop--onDestroy
onCreate--onStart-onRestoreInstanceState--onResume
2.竖到横
onPause--onSaveInstanceState--onStop--onDestroy
onCreate--onStart--onRestoreInstanceState--OnResume


onSaveInstanceState:状态的保存在暂停之后,停止之前
onRestoreInstanceState状态的恢复在启动之后 resume之前


阻止生日周期的配置:参考:http://blog.csdn.net/cuihaiyang/article/details/40541909

Android教程里介绍:默认情况,当“屏幕方向”或“键盘显示隐藏”变化时都会销毁当前Activity,创建新的Activity。如果不希望重新创建Activity实例,可以按如下在AndroidManifest.xml中配置Activity:
 <activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation" >

android:configChanges 属性指定了要捕获“屏幕方向”和“键盘显示隐藏”变化,当捕获到这些变化后会调用Activity的onConfigurationChanged()方法。

自己在手机上调试发现横竖屏切换时,并没有执行onConfigurationChanged()方法,依旧销毁当前Activity并创建新的Activity实例。

搜索发现:这个属性在低版本上是可以起作用。在android 4.0 以上不起作用,必须要加上screenSize,即android:configChanges="keyboardHidden|orientation|screenSize"



你可能感兴趣的:(android)