Activity的生命周期--通过状态来理解

网上有很多关于Activity的生命周期的博文,但是大都是站在生命周期调用方法的角度,并没有从Activity状态转换的角度去想这个问题。

今天看到一篇文章站在Activity的四种状态的角度来阐述Activity的生命周期,感觉对Activity的理解更加深入了。所以写下留作笔记。

Activity有四种状态:

运行状态:Activity位于栈顶,正在与用户交互。

暂停状态:只是暂时失去焦点,比如被另一个Activity的View覆盖,但是没有被完全覆盖。

停止状态:完全失去焦点变为不可见。

销毁状态:被系统销毁。

下面用一张图来说明问题:


详细解释下这张图:

首先,Activity A开始启动的时候要先依次调用OnCreat方法——OnStart方法——OnResume方法,进入前台与用户交互,这时候就进入了运行状态

之后,如果有另一个Activity B覆盖在了上述Activity A的上边但不是完全覆盖的时候,Activity A 便会调用OnPause进入暂停状态

这时如果覆盖Activity A 的Activity B退出了,Activity A 会调用OnResume重新回到运行状态

如果Activity B没有退出,而Activity A变为完全不可见(比如点击了返回桌面的键),就会调用OnStop进入停止状态。再此被调用,会调用OnRestart——OnStart进入——OnResume进入运行状态

如果被调用发现由于内存不足等原因应用进程被暂时终止了,Activity需要被重新创建,所以会调用OnCreat方法——OnStart方法——OnResume方法,进入了运行状态

Activity调用finish方法后,就会调用OnDestroy方法(当然要先执行前边的生命周期中的方法)

不同的Activity对应不容的回调方法,这样理解是不是更容易些了呢?欢迎留言讨论。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一步一台阶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值