一、Activity类中有七个回调方法
/**
* onCreate()方法会在活动第一次被创建的时候调用
* */
protected void onCreate(Bundle savedInstanceStates){
super.onCreate(savedInstanceStates);
Log.d(TAG, "onCreate");
}
/**
*onStart()在由不可见变为可见时调用
* */
protected void onStart(){
super.onStart();
Log.d(TAG, "onStart");
}
/**
*onResume()这个方法在活动准备好和用户交互的时候调用。
* 此时活动一定位于返回栈的栈顶,并且处于运行状态
* */
protected void onResume(){
super.onResume();
Log.d(TAG, "onResume");
}
/**
* 这个方法在系统准备去启动或者回复另外一个活动时调用。
* 我们会在这个方法中将一些消耗cpu的资源释放掉
* */
protected void onPause(){
super.onPause();
Log.d(TAG, "onPause");
}
/**
* 这个方法在活动完全不可见的时候调用
* */
protected void onStop(){
super.onStop();
Log.d(TAG, "onStop");
}
/**
* 这个方法在活动呗销毁之前调用,之后活动状态变为销毁状态
* */
protected void onDestroy(){
super.onDestroy();
Log.d(TAG, "onDestroy");
}
/**
* 这个方法在活动由停止状态变为运行状态之前调用
* */
protected void onRestart(){
super.onRestart();
Log.d(TAG, "onRestart");
}
二、准备3个activity
1. MainActivity (主活动)
2. NormalActivity (子活动,切换到时占满整个屏幕)
3. DialogActivity (子活动,对话框形式切换到时不沾满整个屏幕)
三、过程和结果
1.启动MainActivity,logcat打印:
MainActivity: onCreate
MainActivity: onStart
MainActivity: onResume
MainActivity: onStart
MainActivity: onResume
2.在主活动中启动NormalActivity(此时MainActivity已经完全被遮挡),logcat打印:
MainActivity: onPause
MainActivity: onStop
3.在子活动NormalActivity页面按Back键返回到MainActivity页面,logcat打印:
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume
MainActivity: onStart
MainActivity: onResume
4.在主活动页面启动DialogActivity(MainActivity没有被完全遮挡),logcat打印:
MainActivity: onPause
5.在子活动DialogActivity页面按Back键返回到MainActivity页面,logcat打印:
MainActivity: onResume
6.在主活动MainActivity页面按Back键返回主菜单页面,logcat打印:
MainActivity: onPause
MainActivity: onStop
MainActivity: onDestroy
MainActivity: onStop
MainActivity: onDestroy