简述Activity生命周期「建议收藏」

简述Activity生命周期「建议收藏」Activity显示方式Android是使用任务(Task)管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也 被称为返回栈。新活动启动进入栈,处于栈顶,当Back或finish()销毁一个活动时,栈顶的活动会出栈,前一个入栈的活动重新处于栈顶位置,显示给用户。活动状态运行状态:处于栈顶。暂停状态:不再处于栈顶但仍可见。(内存极低时系统会考虑回收这种活动)停止状态:不再处于栈顶,并且完全不可见。(系统会保存相应的状态和成员变量,但是这并不是完全可靠的,当其他地方需要内存时,处于停止状态

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Activity显示方式

Android是使用任务(Task)管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也 被称为返回栈。新活动启动进入栈,处于栈顶,当Back或finish()销毁一个活动时,栈顶的活动会出栈,前一个入栈的活动重新处于栈顶位置,显示给用户。

活动状态

  1. 运行状态:处于栈顶。
  2. 暂停状态:不再处于栈顶但仍可见。(内存极低时系统会考虑回收这种活动)
  3. 停止状态:不再处于栈顶,并且完全不可见。(系统会保存相应的状态和成员变量,但是这并不是完全可靠的,当其他地方需要内存时,处于停止状态的活动有可能会被系统回收)
  4. 销毁状态:系统从返回栈中移除后进入销毁状态。(系统最倾向回收此状态的活动,保证手机内存充足)

生存期

  1. onCreate()在活动第一次被创建的时候调用。作用:完成初始化操作,如:加载布局,绑定事件等等。
  2. onStart()活动由可见变为不可见时调用。作用:对资源进行加载。
  3. onResume()方法准备好和用户进行交互时调用。此时活动处于返回栈的栈顶,处于运行状态。
  4. onPause()在系统准备启动或者恢复另一个活动时被调用。作用:消耗CPU的资源释放掉,保存一些关键数据,此方法速度一定要快,不然会影响新的栈顶活动使用。
  5. onStop()活动完全不可见时调用。
  6. onDestroy()在活动被销毁之前调用。作用:会完成释放内存的操做。 onDestroy()之后活动的状态将便会销毁状态,
  7. onRestart()在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

三种生存周期:
①完整生存周期:在onCreate()方法到onDestroy()方法之间经历的,就是完整生存期。前者完成所有初始化操作,后者完成释放内存的操作。
②可见生存期:在onStary()方法和onStop()方法之间所经历的。活动总处于可见状态。
③前台生存期:在onResume()方法和onPause()方法之间经历的就是前台生存期。活动总是处于运行状态的,可与用户交互。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170702.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • csgo怎么绑定一键跳投_CSGO投掷物一键跳投的设置方法[通俗易懂]

    所需工具:空白的文本文档适用范围:跳投高抛/跳投中抛/跳投低抛步骤一:打开新建的文本文档,输入如下内容alias+jumpthrow”+jump;-attack;-attack2″;alias-jumpthrow-jump;bindt+jumpthrow;(注释:t为你想绑定的键位)步骤二:保存文档,重命名为a.cfg(其实只要是.cfg结束即可),此时文件应…

    2022年4月12日
    673
  • SQL索引使用初步,(转)

    SQL索引使用初步,(转)

    2021年6月20日
    102
  • LoadRunner教程01:性能测试常见用语

    LoadRunner教程01:性能测试常见用语1、并发用户数量:常见的错误理解:使用系统的全部用户数量使用系统的全部在线用户数量正确理解:与服务器进行交互的在线用户数量2、请求响应时间:从client发出请求到得到响应的整个时间,一般包括网络响应时间+server的响应时间3、事务请求响应时间:完成这个事务所用的时间,这个是性能测试中重点关注的指标4、吞吐率:单位时间在网络上传输的数据量(从服务端返

    2022年5月10日
    38
  • idea2021.11激活[最新免费获取]

    (idea2021.11激活)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~6EK6WKOHUX-eyJsaWNlbnNlSWQiOi…

    2022年3月28日
    53
  • 正版ST-link/V2 J-LINK JTAG/SWD引脚定义和注意事项

    正版ST-link/V2 J-LINK JTAG/SWD引脚定义和注意事项重点来了:当板子上没有JTAG接口时,我们可以使用SWD接线方式,以前使用盗版的ST-link时,只需要四根线(SWIO,SWCLK,3V3,GND)就可以轻松实现目标板连接,简单小巧,可谓是嵌入式攻城狮的最爱!但是换成正版的ST-link/V2,还是四线(SWIO,SWCLK,3V3,GND)连接的话,就会出现Notargetconnected的问题别着急,慢慢来…

    2022年6月10日
    61
  • Laravel设置软删除及其恢复系列操作

    Laravel设置软删除及其恢复系列操作

    2021年11月8日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号