【Android】活动的生命周期

活动的生命周期

在学习活动的生命周期之前,首先要理解返回栈的概念。

返回栈

  • 在Android中,是通过任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈。
  • 在默认情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶位置。而每当我们按下Back键或调用finish()方法去销毁一个活动时,,处于栈顶的活动就会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。
  • 系统总是会显示处于栈顶的活动给用户


活动状态


1. 运行状态
活动处于返回栈的栈顶时,活动处于运行状态。
2. 暂停状态
活动不在处于栈顶位置,但仍然可见时,活动进入暂停状态。(如对话框)
3. 停止状态
活动不再处于栈顶位置,并且完全不可见时,活动进入停止状态。
4. 销毁状态
活动从返回栈中移除后就变成了销毁状态


活动的生存期

Activity类中定义了七个回调方法,覆盖了活动生命周期的每一个环节。

1. onCreate()

Acitivity首次创建时被调用。用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作。

2. onStart()

onCreate事件之后执行。或者当前窗体被交换到后台后,在用户重新查看窗体前已经过去了一段时间,窗体已经执行了onStop事件,但是窗体和其所在进程并没有被销毁,用户再次重新查看窗体时会执行onRestart事件,之后会跳过onCreate事件,直接执行窗体的onStart事件。

3. onResume()

onStart事件之后执行。或者当前窗体被交换到后台后,在用户重新查看窗体时,窗体还没有被销毁,也没有执行过onStop事件(窗体还继续存在于Task中),则会跳过窗体的onCreate和onStart事件,直接执行onResume事件。

4. onPause()

窗体被交换到后台时执行。

5. onStop()

onPause事件之后执行。如果一段时间内用户还没有重新查看该窗体,则该窗体的onStop事件将会被执行;或者用户直接按了Back键,将该窗体从当前Task中移除,也会执行该窗体的onStop事件。

6. onDestroy()

onStop事件执行后,如果窗体和其所在的进程没有被系统销毁,此时用户又重新查看该窗体,则会执行窗体的onRestart事件,onRestart事件后会跳过窗体的onCreate事件直接执行onStart事件。

7. onRestart()

Activity被销毁的时候执行。在窗体的onStop事件之后,如果没有再次查看该窗体,Activity则会被销毁。

(此处引用http://blog.csdn.net/w709835509/article/details/7655240)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值