- 完全生命周期 onCreate() — onDestroy() :从Activity的生命周期建立到销毁的全部过程
- 可是生命周期 onStart() — onStop():Activity在界面上从可见到不可见的过程
- 活动生命周期 onResume — onPause() :Activity在屏幕最上层,并能与用户进行交互
示例程序
1.程序代码
(通过在生命周期函数中添加“日志点”的方法进行调试)
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.程序界面
3.调用顺序
(1)完全生命周期
启动ActivityLifeCycle — 点击”结束程序“按钮关闭程序
调用顺序:onCreate — onStart —onResume — onPause — onStop — onDestroy
(2)可视生命周期
启动ActivityLifeCycle — 启动拨号程序 — 返回ActivityLifeCycle
调用顺序:
- 启动:(1)—(2)—(4)
- Activity被覆盖:(7)—(5)—(8)
- 重新显示Activity:(6)—(2)—(4)