1. 程式人生 > >android四大元件--Activity生命週期

android四大元件--Activity生命週期

在android系統中Activity作為Activity棧(Stack)被管理,當前活動的Activity處於棧頂,之前的非活動Activity被壓入下面成為非活動Activity,等待是否可能被恢復為活動狀態。



在上圖中我們可以將Activity的生命週期分為以下三個過程:

1、  整個完整生命週期:從onCreate()方法開始到onDestory()方法結束。

2、  可見生命週期:從onStart開始到onStop結束

3、  前臺可見生命週期:從onResumen()方法開始到onPause()結束

Ps:這些方法一般是android系統根據你應用的狀態自動去呼叫執行的,當然也可以自己去呼叫

package com.amaker.test;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
	
	private Button b1;
	private static final String TAG="lifecycle";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Log.i(TAG, "onCreate------------------------------>");
        b1 = (Button)findViewById(R.id.Button01);
        b1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				MainActivity.this.finish();
			}
		});
    }
    
    @Override
    protected void onStart() {
    	super.onStart();
    	Log.i(TAG, "onStart------------------------------>");
    }
    
    @Override
    protected void onRestart() {
    	super.onRestart();
    	Log.i(TAG, "onRestart------------------------------>");
    }
    
    @Override
    protected void onResume() {
    	super.onResume();
    	Log.i(TAG, "onResume------------------------------>");
    }
    
    @Override
    protected void onPause() {
    	super.onPause();
    	Log.i(TAG, "onPause------------------------------>");
    }
    
    @Override
    protected void onStop() {
    	super.onStop();
    	Log.i(TAG, "onStop------------------------------>");
    }
    
    @Override
    protected void onDestroy() {
    	super.onDestroy();
    	Log.i(TAG, "onDestroy------------------------------>");
    }
    
}
應用啟動後,打印出的日誌

點選結束按鈕後,打印出的日誌