android-生命周期
原文地址 zhuanlan.zhihu.com
https://developer.android.google.cn/guide/components/activities/activity-lifecycle?hl=zh-cn
一、正常情况下一个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 :表示活动即将被销毁。
onStart与onResume,onPause与onStop之间的差距
前者呢是关于Activity是否可见,后者呢是关于Activity是否位于前台
在实际运用当中并没有太大区别,具体详细请参考官方手册
二、异常情况下Activity的生命周期
异常情况常见的大概分为两种
1:系统配置发生改变:这一种情况,最常见的就是屏幕发生旋转,导致Activity被杀死而重新创建,下面这一张图片能够充分体现。
当发生这一异常时,先调用onPause,然后调用onSaveInstanceState()方法保存数据,然后重新创建Activity,然后调用onRestoreInstanceState()把之前Activity的数据恢复.
2:资源内存不够:这一种情况的数据保存与恢复和前面一样。但杀死Activity的优先级分为以下三种:
1:Activity处于前台——用户可见并且能进行交互,优先级最高
2:Activity处于非前台——Activity可见但用户无法进行交互()
3:Activity处于后台——不可见也无法与用户进行交互,比如执行了onStop(),优先级最低
发布于 2023-04-17 10:35・IP 属地山东开启赞赏赞赏开启后,读者将可以付费支持你的创作。Android 开发Android 论坛Android赞同添加评论分享喜欢收藏设置赞同分享