1.程序代码java
(经过在生命周期函数中添加“日志点”的方法进行调试)android
package com.jhincheung.activitylifecycle; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { private static String TAG = "LIFECYCLE"; /* * 彻底声明周期开始时被调用,初始化Activity */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i(TAG,"(1)onCreate()"); //定义按钮和按钮监听函数,经过用户点击按钮调用finish()函数结束程序 Button button =(Button)findViewById(R.id.btn_finish); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } /* * 可视生命周期开始时被调用,对用户界面进行必要的更改 */ @Override public void onStart() { super.onStart(); Log.i(TAG, "(2)onStart()"); }; /* * 在onStart()后被调用,用于恢复onSaveInstanceState()保存的用户界面信息 */ @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); Log.i(TAG, "(3)onRestoreInstanceState()"); }; /* * 在活动周期开始时被调用,恢复被onPause()中止的用于界面更新的资源 */ @Override protected void onResume() { super.onResume(); Log.i(TAG, "(4)onResume()"); } /* * 在onPause后被调用,保存界面的临时信息 */ @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); Log.i(TAG, "(5)onSaveInstanceState()"); } /* * 在从新进入可视生命周期前被调用,载入界面所须要的更改信息 */ @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "(6)onRestart()"); } /* * 在活动生命周期结束时被调用,用来保存持久的数据或释放占用的资源 */ @Override protected void onPause() { super.onPause(); Log.i(TAG, "(7)onPause()"); } /* * 在可视化生命周期结束时被调用,用来释放占用的资源 */ @Override protected void onStop() { super.onStop(); Log.i(TAG, "(8)onStop()"); } /* * 在彻底生命周期结束时被调用,释放资源,包括线程、数据链接等 */ @Override protected void onDestroy() { super.onDestroy(); Log.i(TAG, "(9)onDestory()"); } }
2.程序界面app
3.调用顺序ide
(1)彻底生命周期函数
启动ActivityLifeCycle — 点击”结束程序“按钮关闭程序spa
调用顺序:onCreate — onStart —onResume — onPause — onStop — onDestroy线程
(2)可视生命周期调试
启动ActivityLifeCycle — 启动拨号程序 — 返回ActivityLifeCycle日志
调用顺序:code