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

Android Activity 生命周期

2012-02-04 00:24 197 查看
Activity的launchmode为默认值。

1.桌面图标启动Ap,按Back键返回:

onCreate()

onStart()

onResume()

【Back键按下】

onPause()

onStop()

onDestroy()

2.长按Home按键,从最近程序中点击图标进入:

与情况1相同。

3.启动Ap,按Home按键,然后再点击图标进入:

onCreate()

onStart()

onResume()

【Home键按下】

onPause()

onStop()

【再次进入Ap】

onRestart()

onStart()

onResume()

4.新Activity全部覆盖,back退出新Activity:

A1 oncreate()

A1 onstart()

A1 onResume()

【启动A2】

A1 onPause()

A2 onCreate()

A2 onStart()

A2 onResume()

A1 onStop()

【从A2 Back】

A2 onPause()

A1 onActivityResult()

A1 onRestart()

A1 onStart()

A1 onResume()

A2 onStop()

A2 onDestroy()

【从A1 Back】

A1 onPause()

A1 onStop()

A1 onDestroy()

5.新Activity部分覆盖,back退出新Activity

A1 onCreate()

A1 onStart()

A1 onResume()

【启动A2】

A1 onPause()

A2 onCreate()

A2 onStart()

A2 onResume()

【从A2Back】

A2 onPause()

A1 onActivityResult()

A1 onResume()

A2 onStop()

A2 onDestroy()

6.普通Dialog部分覆盖:

同AlertDialog

7.AlertDialog部分覆盖:

onCreate()

onStart()

onResume()

【显示AlertDialog】

【关闭AlertDilaog】

在AlertDialog出现以及消失的过程中,没有触发任何onXXX事件。

8.来电覆盖:

等同新Activity全覆盖

9.桌面控件intent启动:

9.1.目标Activity未启动:

等同桌面图标直接启动,会直接启动一个新Activity。

9.2.目标Activity已经启动并且在最上层

如果目标Activity是由桌面控件触发的,那么等同情况3,不会创建新Activity。

如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。

9.3.目标Activity已经启动但是不在最上层

如果目标Activity是由桌面控件启动的,那么不会创建新Activity,但也不会把目标Activity提到最上层。

如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。

原文链接:http://www.linuxidc.com/Linux/2011-12/49270.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: