Android——Activity的生命周期

一、正常情况下一个Activity会经历以下7个生命周期
1:onCreate:当Activity第一次被运行时调用此方法,可用于加载布局视图,获取控件命名空间等一些初始化工作。
2: onRestart:当Activity被重新启动的时候,调用此方法
3: onStart :表示Activity正在被启动,已经从不可见到可见状态(不是指用户可见,指Activity在后台运行,没有出现在前台),但还是无法与用户进行交互。
4: onResume :表Activity已经变为可见状态了,并且出现在前台工作了,也就是指用户可见了
5: onPause :表示Activity正在暂停,但Activity依然可见,可以执行一些轻量级操作,但一般不会进行太多操作,因为这样会影响用户体验。
6: onStop :表示Activity即将暂停,此时Activity工作在后台,已经不可见了,可以与onPause方法一样做一些轻量级操作,但依然不能太耗时。
7: onDestroy :表示活动即将被销毁。

这张图片充分体现了一个Activity全部的生命周期

onStart与onResume,onPause与onStop之间的差距
前者呢是关于Activity是否可见,后者呢是关于Activity是否位于前台
在实际运用当中并没有太大区别,具体详细请参考官方手册
二、异常情况下Activity的生命周期
异常情况常见的大概分为两种
1:系统配置发生改变:
这一种情况,最常见的就是屏幕发生旋转,导致Activity被杀死而重新创建,下面这一张图片能够充分体现。
当发生这一异常时,先调用onPause,然后调用onSaveInstanceState()方法保存数据,然后重新创建Activity,然后调用onRestoreInstanceState()把之前Activity的数据恢复.

2:资源内存不够:这一种情况的数据保存与恢复和前面一样。但杀死Activity的优先级分为以下三种:
1:Activity处于前台——用户可见并且能进行交互,优先级最高
2:Activity处于非前台——Activity可见但用户无法进行交互()
3:Activity处于后台——不可见也无法与用户进行交互,比如执行了onStop(),优先级最低。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FranzLiszt1847

嘟嘟嘟嘟嘟

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

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

打赏作者

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

抵扣说明:

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

余额充值