记录自己的Android学习(三)Activity生命周期

来源:互联网 发布:java手游傲世 编辑:程序博客网 时间:2024/05/21 10:33

Activity到底是什么?我第一次接触的时候想到的就是活动和界面,这是从字面上理解的。看了官方API后,有了更加清楚的认识。

一个Activity是单一的,聚焦的并且用户能够操作的东西,大部分activity和用户都具有依赖关系,我们可以创建不同的activity,例如全屏的窗体,也可是是浮动的窗体(经过设置windowIsFloating主题),或者也可以嵌套在另外的Activity中(ActivityGroup)。

了解到基本原理之后,开始总结Activity的lifecycle:

1、Activity的管理方式

android应用的Activity在我们手机系统中通过 activity task(activity栈)的方式来进行管理,当新的activity启动时,会代替原来在栈顶部的activity,打个比喻说:”新来的小弟当上了老大,坐上了最高层的位置,原来的老大被迫当了老二,并且新老大如果一直坐到那的话,原来的老大永远没有翻身的机会!“

2、Activity的四种状态

活动状态:屏幕最前端,也就是栈顶

paused:失去焦点,但是依然可见,就是说可见不可交互的状态,如半透明activity遮盖,或者对话框的弹出等。在这个状态的activity依然保持所有的状态、信息以及和窗体管理器的联系。虽然如此,但在这个状态我们应该保存需要的数据,因为当系统内存不足的时候可能会被杀死。

 

stopped:一个activity完全被另外一个activity遮盖时,就会stopped,在这个状态对用户而言是不可见的,并且系统其他地方需要内存的时候会经常杀死这个activity.

非活动状态:如果activity被paused或者stopped,系统可以通过finish来结束掉。

3、七大生命周期

先上一张官方的解释图:

 

 

onCreate():activity第一次被启动时调用,通常是创建视图和加载数据等操作。

onStart():可见不可操作。

onResume():可见可操作。

onPaused();activity没有完全被遮挡,应该在这个地方保持需要的数据。

opStop():activity被完全遮挡,不可见。

onDestroy():activity被销毁

onRestart():activity从stopped状态回到onResume状态,需要调用的方法

下面总结的是一些常见操作调用方法的顺序(以两个activity为例):

启动应用:         

 

进入第二个界面:

返回第一个界面:

锁屏:

解锁:

按HOME键:

 

 

 

 

0 0