Activity的生命周期及状态

Activity的三种状态:

1.resumed:指当前Activity在屏幕前台(能被用户看的见)并且拥有用户焦点(用户可以与之交互,点击上面的按钮等)。

2.paused:指当前Activity在屏幕前台,但是不拥有用户焦点(用户不能点击该界面的控件)。

3.stopped:指当前Activity完全被遮蔽,对用户不可见。

下面用三张图分别来表示resumed、paused、stopped:


在paused的状态下,该activity是存活的,在内存中被保留,他维护所有状态和成员信息,并依然依附窗口管理器(window manager),但在系统内存极低的时候会被杀死。

stopped状态下,该activity也是存活的,他维护所有状态和成员信息,但不依附窗口管理器,并在内存极低时,被系统杀掉。

接下来举个例子:

如果我们project中,总共有三个Activity,分别为a、b、c。每个activity上面都有个按钮,点击之后分别进入到b、c,a为mainActivity。然后再分别按两次返回键。

那么在系统堆栈中是这样子的过程


当然有些应用的需求是想让整个过程中,堆栈中只有一个属于该app的activity,即一个时间段内,至多有一个activity(a,b,c不能共存),那么可以去AndroidManifest中设置activity的launchmode属性,它有四种属性分别是standard(默认)、singleTop、singleTask、singleInstance。具体的可以看该篇博客,我觉得已经讲的非常清楚,不懂的人可以在我博客下面留言。

http://blog.csdn.net/tiancizhenai/article/details/7037787

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值