WEB开发网
开发学院手机开发Android 开发 Android/OPhone Activity的生命周期 阅读

Android/OPhone Activity的生命周期

 2010-06-01 15:50:00 来源:WEB开发网   
核心提示:在Activity从建立到销毁的过程中需要在不同的阶段调用7个生命周期方法,这7个生命周期方法的定义如下:复制到剪贴板 Java代码protected void onCreate(Bundle savedInstanceState)protected void onStart()protected void onRes

在Activity从建立到销毁的过程中需要在不同的阶段调用7个生命周期方法。这7个生命周期方法的定义如下:

复制到剪贴板 Java代码

protected void onCreate(Bundle savedInstanceState)

protected void onStart()

protected void onResume()

protected void onPause()

protected void onStop()

protected void onRestart()

protected void onDestroy()

上面7个生命周期方法分别在4个阶段按着一定的顺序进行调用,这4个阶段如下:

1. 开始Activity:在这个阶段依次执行3个生命周期方法:onCreate、onStart和onResume。

2. Activity失去焦点:如果在Activity获得焦点的情况下进入其他的Activity或应用程序,这时当前的Activity会失去焦点。在这一阶段,会依次执行onPause和onStop方法。

3. Activity重新获得焦点:如果Activity重新获得焦点,会依次执行 3个生命周期方法:onRestart、onStart和onResume。

4. 关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法:onPause、onStop和onDestroy。

如果在这4个阶段执行生命周期方法的过程中不发生状态的改变,那么系统会按着上面的描述依次执行这4个阶段中的生命周期方法,但如果在执行的过程中改变了状态,系统会按着更复杂的方式调用生命周期方法。在执行的过程中可以改变系统的执行轨迹的生命周期方法是onPause和onStop。如果在执行onPause方法的过程中Activity重新获得了焦点,然后又失去了焦点。系统将不会再执行onStop方法,而是按着如下的顺序执行相应的生命周期方法:

onPause -> onResume-> onPause

如果在执行onStop方法的过程中Activity重新获得了焦点,然后又失去了焦点。系统将不会执行onDestroy方法,而是按着如下的顺序执行相应的生命周期方法:

onStop -> onRestart -> onStart -> onResume -> onPause -> onStop

图1详细描述了这一过程。

(图)图1 Activity的生命周期

图1 Activity的生命周期

从图1所示的Activity生命周期不难看出,在这个图中包含了两层循环,第一层循环是onPause-> onResume ->

1 2  下一页

Tags:Android OPhone Activity

编辑录入:coldstar [复制链接] [打 印]
赞助商链接