android四大元件--Activity生命週期
阿新 • • 發佈:2019-01-07
在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------------------------------>"); } }
點選結束按鈕後,打印出的日誌