Activity生命周期

本章介绍Activity的生命周期,包含其正常状态下的和非正常状态下,以及Activity回收收存储数据问题。

1、生命周期介绍


这是官方文档上的图片,可以看到Activity共有7个生命周期。

onCreate() :activity第一次被创建时调用。在这里你应该完成所有常见的静态设置工作——创建view、绑定list数据等等。 本方法传 入一个包含了该activity前一个状态的Bundle对象(如果之前已捕获了状态的话,详见后面的保存Activity状态)。

onStart():当Activity变得可见时调用

onResume():可以与用户交互时调用

onPause():不可交互时调用

onStop():当Activity变得不可见时调用

onDestroy():Activity被销毁前调用

onRestart():activity被停止后、又再次被启动之前调用。


注意:在判断生命周期时,若启动的新Activity为透明主题或者对话框主题时,旧Activity不会回调onStop(),仅执行onPause().


2、Activity回收时,数据保存与恢复方法

通过onSaveInstanceState()和onRestoreInstanceState()实现。

onSaveInstanceState()  :当系统认为一个Activity可能会被回收时调用该方法。

onRestoreInstanceState():当被回收的Activity重新打开时会调用该方法。

另外,Activity的系统配置发生改变后,如果Activity被重新启动,那么系统会通过onSaveInstanceState()保存数据,并通过onRestoreInstanceState()恢复数据。eg.横竖屏切换。


补充:

系统配置发生改变后,若不想Activity重新创建,可以给Activity指定configChanges属性。这类常见于游戏和视频横竖屏切换等情况下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值