在Android开发中,第一步学习的应该是最基础的东西,即Activity的声明周期,相信Activity对于从事Android开发的朋友都很熟悉,这里作者不多做解释。Android的生命周期可以用如下所示的图来说明(此图来自Android Developer官网):
       由图示可以看出,Android应用程序从运行到结束要先后经历六个过程,第一个:onCreate()就是对应用程序进行初次创建所回调的函数,一般在这个函数中初始化应用程序的界面,第二个和第三个分别是启动应用时所回调的函数,之后应用程序进入Activity running状态。
       接着如果有其他的Activity挡住前一个Activity,但是并没有完全挡住的时候,即前一个Activity失去了焦点,此时onPause()回调,当另一个Activity完全挡住前一个Activity的时候,此时回调函数onStop(),如果此时退出程序或者是调用函数finish(),那么Activity进入onDestory()阶段,图中的反向箭头指的是在某一种情况下的Activity的反应,在这里不多做解释。
     为了更清楚的说明这个问题,一下是测试代码,以供参考:
public class Life_Test extends Activity {  
  1.     private Button button;  
  2.     private Button button2;  
  3.   
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState) {  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.activity_life__test);  
  8.         Log.d("Debug""onCreate");  
  9.         button=(Button)findViewById(R.id.button1);  
  10.         button2=(Button)findViewById(R.id.button2);  
  11.         button.setOnClickListener(new OnClickListener() {  
  12.               
  13.             @Override  
  14.             public void onClick(View v) {  
  15.                 // TODO Auto-generated method stub   
  16.                 AlertDialog.Builder builder=new Builder(Life_Test.this);  
  17.                 builder.setTitle("Test...");  
  18.                 builder.setMessage("This is Test_Dialg..");  
  19.                 builder.setPositiveButton("OK"new DialogInterface.OnClickListener() {  
  20.                       
  21.                     @Override  
  22.                     public void onClick(DialogInterface dialog, int which) {  
  23.                         // TODO Auto-generated method stub   
  24.                     dialog.dismiss();  
  25.                     }  
  26.                 });  
  27.                 builder.setNegativeButton("Cancel"new DialogInterface.OnClickListener() {  
  28.                       
  29.                     @Override  
  30.                     public void onClick(DialogInterface dialog, int which) {  
  31.                         // TODO Auto-generated method stub   
  32.                     dialog.dismiss();     
  33.                     }  
  34.                 });  
  35.                 builder.show();  
  36.             }  
  37.         });  
  38.         button2.setOnClickListener(new OnClickListener() {  
  39.               
  40.             @Override  
  41.             public void onClick(View arg0) {  
  42.                 // TODO Auto-generated method stub   
  43.             final Intent intent=new Intent(Life_Test.this,Activity02.class);  
  44.             startActivity(intent);  
  45.             }  
  46.         });  
  47.     }  
  48.   
  49.     @Override  
  50.     protected void onStart() {  
  51.         // TODO Auto-generated method stub   
  52.         super.onStart();  
  53.         Log.d("Debug""onStart");  
  54.     }  
  55.   
  56.     @Override  
  57.     protected void onDestroy() {  
  58.         // TODO Auto-generated method stub   
  59.         super.onDestroy();  
  60.         Log.d("Debug""onDestroy");  
  61.     }  
  62.   
  63.     @Override  
  64.     protected void onPause() {  
  65.         // TODO Auto-generated method stub   
  66.         super.onPause();  
  67.         Log.d("Debug""onPause");  
  68.     }  
  69.   
  70.     @Override  
  71.     protected void onRestart() {