ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android——Activity的生命周期

2021-02-21 14:33:50  阅读:221  来源: 互联网

标签:生命周期 用户 可见 调用 onPause 前台 Activity Android


一、正常情况下一个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(),优先级最低。

标签:生命周期,用户,可见,调用,onPause,前台,Activity,Android
来源: https://blog.csdn.net/News53231323/article/details/113917191

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有