一.活动状态
每个活动在其生命周期中最多可能会有4种状态
1. 运行状态
当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。
2. 暂停状态
当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。
3. 停止状态
当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。
4. 销毁状态
当一个活动从返回栈中移除后就变成了销毁状态。
生命周期示意图
二.活动的生存期
onCreate()。每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。onStart()。这个方法在活动由不可见变为可见的时候调用。onResume()。这个方法在活动准备好和用户进行交互的时候调用。onPause()。这个方法在系统准备去启动或者恢复另一个活动的时候调用。noNstop()。这个方法在活动完全不可见的时候调用。onDestroy()。这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。onRestart()。这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了
可以在代码里面体现:
@Override
protected void onCreate(Bundle savedInstanceState
) {
super.onCreate(savedInstanceState
);
setContentView(R
.layout
.activity_main
);
Log
.e("masg", "1.activity----onCreate创建");
}
@Override
protected void onStart() {
super.onStart();
Log
.e("msg", "2.activity-----onStart执行");
}
@Override
protected void onResume() {
super.onResume();
Log
.e("msg", "3.activity-----onResume焦点");
}
@Override
protected void onPause() {
super.onPause();
Log
.e("msg", "4.activity-----onPause暂停");
}
@Override
protected void onStop() {
super.onStop();
Log
.e("msg", "5.activity-----onStop停止");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log
.e("msg", "7.activity-----onDestroy销毁");
}
@Override
protected void onRestart() {
super.onRestart();
Log
.e("msg", "6.activity-----onRestart重启");
}
三.活动启动模式
standard–会创建新的活动,依次返回。singleTop–当活动位于栈顶,不会创建新的页面。如果改变栈顶,还是会创建当前页面。singleTask–当存在活动时,不会创建新的活动,当返回时,直接退出。singleInstance–创建新的栈,可以与其它应用共用,返回时,每个栈返回完才返回下一个栈。