AS中Android应用的生命周期

其实Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合, 这个栈也被称作返回栈(Back Stack)。

而Stack是一个后进先出的数据结构,当我们启动一个新活动的时候,这个新活动会在返回Stack进入Stack,并处于the top of Stack,当我们按下Back或执行finish()后,这个活动就会被销毁,然后处于Stack顶部的活动就会out of Stack,然后前一个进入Stack的活动就会到Stack顶的位置。

活动状态

每个活动在其生命周期中最多可能会有4种状态。

1.运行状态
当一个活动位于返回栈的栈顶时,这时活动就处于运行状态。系统最不愿意回收的就是处 于运行状态的活动,因为这会带来非常差的用户体验。

2.暂停状态
当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。
比如,一个活动处于对话框的形式,但是这个活动模糊只会占用屏幕中间的部分区域,处于暂停状态的活动是存活的,因为系统是不会去回收这种可见的活动的,回收的话会造成不好的体验,只有在内存极低的情况下才会回收这种活动。

3.停止状态
当一个活动不属于stack顶且完全不可见的时候,就会进入停止状态。系统会保存其对应的状态和成员变量,但这并不完全可靠。当其他地方需要内存时,处于停止状态的活动才有可能被系统回收。
停止状态

4.销毁状态
当一个活动从返回栈中移除后就变成了销毁状态。系统会最倾向于回收处于这种状态的活动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值