万事万物都有一个生命开始到结束的过程,Activity的生命周期,经历了7个阶段.
public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
下面我们解释下这7个阶段.
onCreate():当这个Activity被第一个启动的时候创建.
onStart():当我们用户可以看到Activity的时候.
onRestart():当Activity处于onStop()状态,而重新显示的时候.
onResume():当用户可获得该Activity的焦点时.
onPause():当启动另一个Activity时候,原Activity数据可保存时.等待呼叫.
onStop():当启动另一个Activity时.用户看不到原Activity时.
onDestroy():当Activity被销毁时.
通过下图模拟两个Activity界面切换时操作的生命周期
当启动项目第一个Activity被创建时.
接下来点击按钮启动第二个Activity
接下来,在按back按钮.
完成以上操作,相信可以比较清楚的认识Activity的生命周期.需要注意的是.
假如SecondActivity是窗口模式的Activity时.如图,上述启动SecondActivity操作时.是不会调用FirstActivity的onStop()方法.
关于横竖屏切换时生命周期
(仅针对真机测试)
1.没有设置android:configChanges属性时.横竖屏切换生命周期都重新执行一次.
2.设置android:configChanges="orientation|keyboardHidden"属性时,横竖屏切换只调用onConfigurationChanged方法,不执行生命周期