现在的位置: 首页 > 综合 > 正文

Android 生命周期-笔记

2018年03月31日 ⁄ 综合 ⁄ 共 1366字 ⁄ 字号 评论关闭

转载请注明出处:http://blog.csdn.net/js331455217/article/details/40911595#t3

Android生命周期-初识

Activity是整个Android应用程序生命周期的重要组成部分。同时,Activity具备自身的生命周期。Android系统是通过树形结构管理Activity,同时Android系统提供了一个ActivityManager管理器管理Activity。Android系统提供一个专用的堆栈管理Activity的创建、运行和销毁。
下图是Activity整个生命周期图:

Activity生命周期状态如下:

1.   正常启动Activity,Activity回调函数执行顺序如下:

onCreate()--- >onStart()--- >onResume()

 

这个Activity是第一个被添加进入堆栈,此时,它处于栈顶

 

2.   正常结束Activity生命周期,Activity回调函数执行顺序如下:

onPause()--- >onStop() --- >onDestroy()

它被堆栈移除

 

3.   从当前Activity跳转到另一个Activity时,Activity回调函数执行顺序如下:

当前Activity(MainActiivty):onPause()--->onStop()

目标Activity(SecondActivity):onCreate--->onStart() --- >onResume()

 

当前Activity被放到栈底,目标Activity被放在栈顶

 

4.   从第二个Actvity回退到第一个Activity(MainActivity)时,Activity回到函数执行顺序如下:

 

第二个Activity(SecondActivity):onPause()--->onStop()--- >onDestroy()

主Activity(MainActivity):onRestart()--->onStart() --- >onResume()

SecondActiivty被移出堆栈,MainActivity被移到栈顶

 

Activity类似情况,以此类推。

从上面日志可以知道,一个Activity基本有4种状态:

1.一个Activity在屏幕顶部(也就是我们现在当前见到的界面),指明它是出于激活状态或者正在运行状态;

2.Activity整个界面是失去焦点,但是,它还是处于可见状态(即onPause状态)。

此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。但是,当系统内存极度紧张时,这个Activity有可能被系统杀死

3.一个Activity完全被其它Activity遮挡时(即onStop状态),它仍然保留着Activity所有状态和信息。然而,用户不能够看见它显示的界面和它的界面窗口被隐藏。当系统需要内存时,在这个状态的Activity经常被系统杀死

4.如果一个Activity处于onPause()或onStop状态时,系统需要内存时,系统能够终止这个Activity。

 

测试源码下载路径:http://download.csdn.net/detail/js331455217/8134217

抱歉!评论已关闭.