创建Activity 时,运行onCreat();
开始运行Activity 时,运行onStart();
该Activity处于最顶栈(即正在运行) 时,运行onResume();
启动另一个Activity 但 没有完全遮挡住原先这个Activity(例如启动一个dialog Activity)或者结束这个Activity 时,运行onPause();
启动另一个Activity而且完全覆盖原先这个Activity 或者 结束这个Activity 时,运行onStop();
Activity被销毁 时,运行onDestroy();
Activity从onStop()状态返回到界面时,运行onRestart();
如果该Activity已经被系统回收,则重新运作onCreat();
被系统回收时,Activity会先运行onSaveInstanceState(Bundle outState);
Bundle类型的参数是为了保存Activity被销毁前的参数,通常用方法outState.putString(key,String);其中key用字符串表示就可以了。 @Override
public void onSaveInstanceState(Bundle outState , PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState , outPersistentState) ;
String tempData = "Something you just typed" ;
outState.putString( "data_key" ,tempData) ;
}
而且要在创建Activity时的onCreat()里添加: @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState) ;
setContentView(R.layout. activity_main) ;
if(savedInstanceState != null){
String tempData = savedInstanceState.getString( "data_key") ;
}
}
当然bundle也可以与intent结合一起传递数据,就是把数据保存到Bundle对象中,再将Bundle对象保存到Intent对象中,再到其他的Activity时,取出Intent中的Bundle,再取出数据即可。