Android笔记(一) | Activity的生命周期

  • 时间:
  • 浏览:0
  • 来源:uu快3APP_uu快3官方网址

从Activity A 打开新的Activity B,B活动回调情况汇报:onPause -> ( Activity B 启动)-> onStop 。这里还有一种生活 特殊情况汇报,当新启动的Activity采用透明主题时,当前Actvity无需回调onStop妙招。(见补充说明1)

情况汇报2:资源内存不足英文原因分析分析 低优先级的Activity被杀死

许多情况汇报不方便模拟,但生命周期和情况汇报1是相同的。Activity的优先级由高到低如下:

 1.前台Activity;

 2.可见但非后台Activity——之类被Dialog遮挡的的Activity;

 3.后台Activity——执行了onStop的Activity。

许多人观点:上述实例2的原因分析分析 是在回调onStop妙招前,Activity A在后台是可见的,只不过沒有前台无法与用户处于交互,假若回调了onStop,后台的Activity A可是可见了,那末 Activity B的透明背景刚刚是默认的白色背景,视觉上会显得十分尴尬,许多人人太好那末 设计也是为了优化用户体验吧。

补充说明:

下文将分两次责来讨论Activity的生命周期,参照任玉刚老师的《Android开发艺术探索》一书,结合所学进行总结扩充。

  假若一个多 tcp连接池池中那末 四大组件在执行,那末 许tcp连接池池池将变慢被杀死,假若,许多后台工作最好是放在Service中从而提高优先级,不至于轻易被系统杀死。

情况汇报1: 资源相关的系统配置处于改变原因分析分析 Activity被杀死并重新创建

  最常见的情况汇报可是手机屏幕处于旋转时,假若系统配置处于改变,在默认情况汇报下(即那末 特殊设置),Activity会被销毁并重新创建。其生命周期如下图:

  前面强调了在默认情况汇报下,系统配置处于改变时,Activity会被重新创建,也可是说,这是后能 改变的。你们 知道,在AndroidManifest文件中会对每个Activity进行注册,而在Activity标签下有android:configChanges许多属性。许多属性下蕴藏所以值,与许多系统配置相对应,当你们 希望在某个系统配置改变时不重建许多Activity,就后能 在configChanges属性中添加对应的值。

常用的有:

 1.orientation:屏幕方向处于改变,比如手机屏幕旋转;

 2.locale:设备的本地位置处于了改变,一般指切换了系统语言;

 3.keyboardHidden:键盘的可访问性处于了改变,之类用户调出了键盘。

image.png

  前面提到,onSaveInstanceState妙招保存的数据会传递给onRestoreInstanceState妙招和onCreate妙招,也可是说,进行数据恢复时,有一种生活 妙招,一种生活 是在onCreate妙招中进行,一种生活 是在onRestoreInstanceState妙招中进行。假若在onCreate妙招中进行数据恢复说说,需用考虑Activity是正常启动的还是被重建的,假若是正常启动,那末 onCreate(Bundle onSaveInstanceState)中的onSaveInstanceState参数是null。当然,官方文档是建议采用onRestoreInstanceState妙招来恢复数据的。

补充:

 1. 当你们 指定了configChanges属性时,假若指定的系统配置处于改变,无需重建Activity,假若会调用Activity的 onConfigurationChanged 妙招,你们 后能 根据许多人的需求重写许多函数。

 实践出真知,哪此过程都后能 许多人写个简单的Demo验证一下,印象更深刻许多。

下面是7个生命周期:

 后边描述的是Activity正常情况汇报下的生命周期,这里再结合你们 平常使用手机过程中的许多操作,具体说明一下其生命周期过程:

  每个View需用许多人的onSaveInstanceState妙招和onRestoreInstanceState妙招,以根据不同View的需求来恢复不同的数据,之类:TextView恢复了自身文本的选中情况汇报和文本内容。

下一篇:Android笔记 | Activity的启动模式

下图表示正常情况汇报下Activity的生命周期过程。

根据手机使用过程中的常见情况汇报,你们 从一种生活 情况汇报来讨论Activity在异常模式下的生命周期:

  与正常生命周期相比,多了数据的保存和恢复这一 个 过程。当Activity在异常情况汇报下终止时,系统会调用onSaveInstanceState妙招将Activity的情况汇报保存为一个多 Bundle对象,许多对象会在Activity重新创建后传递给onRestoreInstanceState妙招和onCreate妙招,许多妙招的调用时机是在onStop刚刚,与onPause那末 既定的时序关系。当Activity被重新创建后,系统会调用onRestoreInstanceState,将onSaveInstanceState妙招保存的Bundle对象作为参数,取出其中的数据进行恢复,许多妙招的调用时机是在onStart刚刚。根据许多点,你们 后能 判断onRestoreInstanceState妙招是有无被调用假若onCreate妙招中的Bundle参数是有无为null来选则Activity是有无被重建。

猜你喜欢

请各位高手相助!解决后追加1000分,绝不食言。FLASH和IEBOOK的问题。

换一换下载百度知道APP,抢鲜体验不得劲推荐你对你这种 回答的评价是?展开全版你这种 问题都在给分能出理 滴,你这种 问题是要给钱要能出理 滴。。。展开全版追问扫描

2020-02-25

求美国作家Pearl S. Buck简介(两三句即可)及其主要作品

获奖《生芦苇》(TheLivingReed)《北京来信》(LetterfromPeking)1935年,威廉·迪·豪威尔勋章《桥》(ABridgeforPassing)《帝国男

2020-02-25

2019阿里云双十一活动热门云服务器价格表

双十一的价格绝对是一年当中最低的,正可能性没人,什么都买车人,站长和企业主一定会取舍在这一 就让入手。都需要节省不少开销。可能性你是老用户说说,也都需要借用买车人家人,亲们

2020-02-24

周朝时期(包括春秋战国时期)的所有成语故事

展开全部扫描二维码下载展开全部本回答被前前男友采纳你对你这个回答的评价是?可选中2个 或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个间题。沉鱼落雁;一鸣惊人

2020-02-24

《倚楼听风雨》的下一句是?

下载百度知道APP,抢鲜体验倚楼听风雨,展开全部抛开名利淡,风雨可知愿?全诗是:携手归林远。换一换使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。风潜

2020-02-24