简述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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据分析

    数据分析

    2021年11月21日
    72
  • harbor

    harbor

    2021年5月28日
    116
  • php获取客户端IP和服务器端IP[通俗易懂]

    php获取客户端IP和服务器端IP[通俗易懂]1.php获取客户端IP在PHP获取客户端IP时,常使用$_SERVER[“REMOTE_ADDR”]。但如果客户端是使用代理服务器来访问,那取到的是代理服务器的IP地址,而不是真正的客户端IP地址。要想透过代理服务器取得客户端的真实IP地址,就要使用$_SERVER[“HTTP_X_FORWARDED_FOR”]来读取。但只有客户端使用“透明代理”的情况下,$_S

    2025年6月24日
    2
  • Java的运行机制(一)

    Java的运行机制(一)前言:还是那句话,第一、凡是涉及到概念性内容的时候,我都会到官网去确认内容的真实性!第二、我喜欢偏向于原理学习。在java介绍里面,我认为知道这是一门完全面向对象的语言就足够了。我的导师说C++是认为程序员是很强大的,开放了所有的功能权限;Java是认为程序员不是那么全能的,有些危险的操作,不会让你执行。不知道您是否也这么认为呢?目录一、类的结构二、运行机制1、编译方式…

    2022年7月8日
    24
  • 圆柱体积怎么算立方公式_立方计算公式,圆形怎么算立方。[通俗易懂]

    展开全部长方体的立方即是体积:长×宽×高正方体的立方即使体积:棱长x棱长x棱长圆形没e69da5e6ba9062616964757a686964616f31333431363537有立方。常用单位1、立方米、立方分米、立方厘米、立方毫米2、棱长是1毫米的正方体,体积是1立方毫米3、棱长是1厘米的正方体,体积是1立方厘米4、棱长是1分米的正方体,体积是1立方分米5、棱长是1米的正方体,体积是1立方米…

    2022年4月5日
    190
  • 在配置maven的阿里镜像遇到的问题

    在配置maven的阿里镜像遇到的问题

    2021年7月11日
    106

发表回复

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

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