Activity是Android程序图形用户界面的基本组成部件。一个Android应用程序由一个或多个Activity类组成,并且程序是从Activity类开始执行的,系统规定的Activity类有创建(onCreate())、开始(onStart())、唤醒(onResume())、暂停(onPause())、停止(onStop())和销毁(onDestroy())几种状态。
Android应用程序的Activity都是平等的,其是通过堆栈管理。当一个新的Activity开始时,其会放在堆栈的顶部,变为运行态,并显示于用户界面(之前的Activity将移至其下方)。只有当新的Activity退出,原来的Activity才会置于堆栈顶部,重新运行。
Activity本质上是4种状态:
1.其处于运行态(Running)或活动(Active)。此时该Activity处于屏幕的前台,即在栈顶;
2.其处于暂停态(Paused)。此时该Activity失去焦点,但可见,其保留状态信息,但是系统内存低时,会被回收;
3.其处于停止态(Stop)。此时一个Activity被另一个Activity所覆盖,其不可见,但仍保留状态信息,系统内存低时,亦会被回收;
4.其处于暂停态(Paused)或其处于停止态(Stop)。系统可以从内存中进行销毁(Destroy)。当需要再次使用时,需要重新启动,以恢复之前状态。
一个Activity程序的生命周期示例代码:
public class MyActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
Log.v("MyActivity","onCreate(创建)方法被执行");
/**
Bundle localBundle = getIntent().getExtras();
localBundle.getString("value"); //获取其他Activity传过来的参数
setContentView(R.layout.mylayout); //设置显示界面
eg:nameEditText=(EditText)findViewById(R.id.name); //使用findViewById获得用户界面的组件
*/
}
protected void onStart() {
Log.v("MyActivity","onStart(开始)方法被执行");
}
protected void onResume() {
Log.v("MyActivity","onResume(唤醒)方法被执行");
}
protected void onPause() {
Log.v("MyActivity","onPause(暂停)方法被执行");
}
protected void onStop() {
Log.v("MyActivity","onStop(停止)方法被执行");
}
protected void onRestart() {
Log.v("MyActivity","onRestart(重新启动)方法被执行");
}
protected void onDestroy() {
Log.v("MyActivity","onDestroy(销毁)方法被执行");
}
}
运行一个应用程序时,若无法出现界面,直接报错,一般情况下是onCreate()方法内的代码有错。