您的位置:首页 > 移动开发 > Android开发

Activity生命周期(2)—事件回调函数调用顺序

2016-11-13 00:00 525 查看
完全生命周期 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android