1.Activity生命周期的管理方法:
onCreate();//创建
onStart();//运行
onResume();//获取焦点
onPause();//失去焦点
onStop();//暂停
onDestroy();//销毁
onRestart();//
管理方法的结果:
由此方法得到的Activity状态:
1.活动状态:Active/running,界面最顶端,获取焦点
2.暂停状态:Paused,失去焦点,用户可见
3.停止状态:Stoped,被完全遮挡,保留 所有状态和成员信息
3.非活动状态:Killed,Activity被停止
android页面跳转:
打开->关闭
onCreate onStart() onResume() onPause() onStop() onDestroy()
打开->后台不可见->返回前台
onCreate onStart() onResume() onPause() onStop() onRestart() onStart() onResume()
打开->后台可见->前台
onCreate onStart() onResume() onPause() onResume()
观察代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.i("tag","start");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("tag","resume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.i("tag","pause");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.i("tag","stop");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.i("tag","destroy");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.i("tag","restart");
}
2.Activity加载模式
Standard模式:每次启动创建新的实例,并将Activity添加到当前Task中
singleTop模式:当Activity位于栈顶,直接复用已有实例而不会重新创建
singleTask模式:在一个Task只会有一个Activity。若要启动的Activity在Task不存在,创建新的实例;在Task栈顶时直接调用;在Task非栈顶则将其他Activity全部pop出栈,将其置于栈顶后调用
singleLinstance模式:无论在哪个Task中启动目标,只会创建一个实例,并会创建全新的Task栈用于加载Activity。若要启动的Activity不存在,创建新的Task后新建Activity并置于栈顶;要启动的Activity存在时,将其所在Task转入前台,