Activity是Android的核心类,全名是android.app.Activity. 每一个Activity提供了一个可视化的区域。这个区域可以放置各种Android组件,例如按钮、图像、文本框等。
那么这样一个Activity,从启动应用程序到关闭应用程序,它到底是怎样动作,或者是怎样开启和关闭的呢?生命周期到底是怎样的呢?下面看个例子
新建一个安卓工程,修改MainActivity.java
package com.mmc.Activitycycle; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("onCreate", "onCreate Method is executed"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.d("onDestroy", "onDestroy Method is executed"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.d("onPause", "onPause Method is executed"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.d("onRestart", "onRestart Method is executed"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.d("onResume", "onResume Method is executed"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.d("onStart", "onStart Method is executed"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.d("onStop", "onStop Method is executed"); } }在Android应用程序中不能使用System.out.println
1)启动应用程序‘;
2)按接听按钮,进入通话记录界面,再返回;
3)关闭应用程序;
再点一次2)里第二次按的按钮即可退出。
这时,在LogCat里可以看到
可以看到Activity的三个生命周期,
onResume ---- onPause 焦点生命周期
onRestart ----....---- onStop 可视生命周期
onCreate --- ....--- onDestroy 整体生命周期
通过仿真,可以看出在什么样的情况下是在执行什么样的方法。
刚启动应用程序的时候,是执行三个方法。onCreate onStart onResume
而当按了接听按钮之后,启动另外一个Activity时,那么就要先停止现在的Activity,所以按了接听按钮后,
执行两个方法 onPause onStop
当退出接听Activity,回到应用程序的时候,执行的是 onRestart onStart onResume
当再按下退出应用程序的时候,就应该是毁灭,onPause onStop onDestroy