您的位置:首页 > 其它

Andriod的活动生存期

2016-03-11 09:44 204 查看
一、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

2.在主活动中启动NormalActivity(此时MainActivity已经完全被遮挡),logcat打印:

MainActivity: onPause
MainActivity: onStop

3.在子活动NormalActivity页面按Back键返回到MainActivity页面,logcat打印:

MainActivity: onRestart

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: