Android中的Activity的创建及消亡有其自己的生命周期。
Activity01:
package com.android;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class Activity01 extends Activity
{
private static final String TAG = "Activity01";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.v(TAG, "onCreate");
Button button1 = (Button) findViewById(R.id.button1);
/* 监听button的事件信息 */
button1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
/* 新建一个Intent对象 */
Intent intent = new Intent();
/* 指定intent要启动的类 */
intent.setClass(Activity01.this, Activity02.class);
/* 启动一个新的Activity */
startActivity(intent);
/* 关闭当前的Activity */
Activity01.this.finish();
}
});
/******************************/
Button button3 = (Button) findViewById(R.id.button3);
/* 监听button的事件信息 */
button3.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
/* 关闭当前的Activity */
Activity01.this.finish();
}
});
}
public void onStart()
{
super.onStart();
Log.v(TAG, "onStart");
}
public void onResume()
{
super.onResume();
Log.v(TAG, "onResume");
}
public void onPause()
{
super.onPause();
Log.v(TAG, "onPause");
}
public void onStop()
{
super.onStop();
Log.v(TAG, "onStop");
}
public void onDestroy()
{
super.onDestroy();
Log.v(TAG, "onDestroy");
}
public void onRestart()
{
super.onRestart();
Log.v(TAG, "onReStart");
}
}
Activity02:
package com.android;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class Activity02 extends Activity
{
private static final String TAG = "Activity02";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Log.v(TAG, "onCreate");
Button button = (Button) findViewById(R.id.button2);
/* 监听button的事件信息 */
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v)
{
/* 新建一个Intent对象 */
Intent intent = new Intent();
/* 指定intent要启动的类 */
intent.setClass(Activity02.this, Activity01.class);
/* 启动一个新的Activity */
startActivity(intent);
/* 关闭当前的Activity */
Activity02.this.finish();
}
});
}
public void onStart()
{
super.onStart();
Log.v(TAG, "onStart");
}
public void onResume()
{
super.onResume();
Log.v(TAG, "onResume");
}
public void onPause()
{
super.onPause();
Log.v(TAG, "onPause");
}
public void onStop()
{
super.onStop();
Log.v(TAG, "onStop");
}
public void onDestroy()
{
super.onDestroy();
Log.v(TAG, "onDestroy");
}
public void onRestart()
{
super.onRestart();
Log.v(TAG, "onReStart");
}
}
当我们Debug项目时,在DDMS界面可以看到打印的log信息 Activity01 onCreate->Activity01 onStart->Activity01 onResume.当我们点击按钮进入到Activity02时,打印出来的信息Activity01 onPause->Activity02 onCreate->
Activity02 onStart->Activity02 onResume->Activity01 onStop->Activity01 onDestroy.程序进入到Activity02时,Activity01并不会马上销毁,而是在Activity02其中之后将Activity01停止销毁。返回时也是一样。当我们点击exit退出时。Activity01 onPause->Activity01 onStop->Activity01 onDestroy.由此可以得出下图: