Activity作为Android四大组件之一,其生命周期是Android开发最基础也是最易混淆的知识,为了更为清晰辨别Activity生命周期方法运行过程,简单验证如下:
package woodknife.com.androidbase; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.Toast; public class LifecycleActivity extends Activity { public static final String TAG = "Lifecycle"; private void showMsg(String msg){ Toast.makeText(LifecycleActivity.this, msg, Toast.LENGTH_SHORT).show(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lifecycle); Log.d(TAG,"onCreate"); // showMsg("onCreate"); } @Override protected void onStart() { super.onStart(); Log.d(TAG,"onStart"); // showMsg("onStart"); } @Override protected void onResume() { super.onResume(); Log.d(TAG,"onResume"); // showMsg("onResume"); } @Override protected void onPause() { super.onPause(); Log.d(TAG,"onPause"); // showMsg("onPause"); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Log.d(TAG,"onSaveInstanceState"); // showMsg("onSaveInstanceState"); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); Log.d(TAG,"onRestoreInstanceState"); // showMsg("onRestoreInstanceState"); } @Override protected void onStop() { super.onStop(); Log.d(TAG,"onStop"); // showMsg("onStop"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG,"onDestroy"); // showMsg("onDestroy"); } @Override protected void onRestart() { super.onRestart(); Log.d(TAG,"onRestart"); // showMsg("onRestart"); } }
注:真机测试建议使用弹Toast方式更为直观
附官方Activity生命周期图