Activity生命周期

Activity生命周期指Activity从启动到销毁的过程,在这个过程中,Activity一般表现为4种状态,分别是活动状态、暂停状态、停止状态和非活动状态。

Activity的生命周期以及说明请看下面的代码:

package com.augur.activitylifecycle; import android.app.Activity; import android.os.Bundle; public class ActivityLifeCycleDemo extends Activity{ /**Activity启动后第一个被调用的函数,常用来进行Activity的初始话, *例如创建View、绑定数据或恢复信息等。*/ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } /**当Activity显示在屏幕上时,该函数被调用*/ protected void onStart() { super.onStart(); } /**当Activity能够与用户交互,接受用户输入时,该函数被调用。 * 此时的Activity位于Activity栈的栈顶*/ protected void onResume() { super.onResume(); } /**当Activity从停止状态进入活动状态前,调用该函数。*/ protected void onRestart() { super.onRestart(); } /**当Activity进入暂停状态时,该函数被调用。 * 一般用来保存持久的数据或释放占用的资源*/ protected void onPause() { super.onPause(); } /**当Activity进入停止状态前,该函数被调用*/ protected void onStop() { super.onStop(); } /**在Activity被终止前,即进入非活动状态前,该函数被调用*/ protected void onDestroy() { super.onDestroy(); } }

我们可以通过LogCat工具来查看各个函数的调用顺序:onCreate() --> onStart() --> onResume() --> onPause() --> onStop() --> onDestroy() 。在LogCat中的显示如下:

Activity生命周期

注:当从Activity A 跳转到 Activity B中时,Activity的周期调用函数:onPause() --> onStop(),当从Activity B返回到Activity A中时,Activity 的周期调用函数:onRestart() --> onStart() -->onResume() 。