什么是生命周期?Activity生命周期的三种状态

news/2024/4/27 4:01:46/文章来源:https://blog.csdn.net/Blue92120/article/details/129128254

什么是生命周期

生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期中分为三种状态,分别是运行状态、暂停状态和停止状态。接下来将针对Activity生命周期的三种状态进行详细地讲解。

Activity生命周期

1、运行状态

当Activity在屏幕的最前端时,它是可见的、有焦点的。可以用来处理用户的常见操作,如点击、双击、长按事件等,这种状态称为运行状态。

2、暂停状态

在某些情况下,Activity对用户来说仍然是可见的,但它不再拥有焦点,即用户对它的操作是没有实际意义的。例如,当最上面的Activity没有完全覆盖屏幕或者是透明的,被覆盖的Activity仍然对用户可见,并且存活(它保留着所有的状态和成员信息并保持与Activity管理器的连接)。但当内存不足时,这个暂停状态的Activity可能会被杀死。

3、停止状态

当Activity完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。然而这些对用户来说都是不可见的,如果当系统内存不足时,这个Activity很容易被杀死。

值得一提的是,当Activity处于运行状态时,Android会尽可能地保持它的运行,即使出现内存不足的情况,Android也会先杀死栈底部的Activity,来确保可见的Activity正常运行。

Activity从一种状态转变到另一种状态时会触发一些事件,执行一些回调方法来通知状态的变化,具体方法如下所示:

void onCreate(Bundle savedInstanceState):创建时执行

void onStart():可见时执行

void onRestart():回到前台,再次可见时执行

void onResume():获取焦点时执行

void onPause():失去焦点时执行

void onStop():用户不可见进入后台时执行

void onDestroy():销毁时执行

为了让初学者更好理解Activity的三种状态以及不同状态时使用的方法,Google公司专门提供了一个Activity生命周期模型的图例,具体如下图所示。

Activity的生命周期

从图中可以看出,当Activity从启动到关闭时,会依次执行【onCreate()】→【onStart()】→【onResume()】→【onPause()】→【onStop()】→【onDestroy()】方法。当Activity执行到onPause()方法失去焦点时,重新调用回到前台会执行onResume()方法,如果此时进程被杀死Activity重新执行时会先执行onCreate()方法。当执行到onStop()方法Activity不可见时,再次回到前台会执行onRestart()方法,如果此时进程被杀死Activity会重新执行onCreate()方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_71864.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CANopen概念总结、心得体会

NMT网络管理报文: NMT 主机和 NMT 从机之间通讯的报文就称为 NMT 网络管理报文。常见报文说明: 0101---------------网络报文发送Nmt_Start_Node,让电机进入OP模式(此时还不会发送同步信号) setState(d, Operational)------------------开启…

STM32 SystemInit()函数学习总结

拿到程序后如何看系统时钟?User文件夹——system_stm32f4xx程序,先找systemcoreclock(系统时钟)但是这里这么多个系统时钟应该如何选择?点击魔法棒,然后点击C/C可以看到define的是F40_41XXX.USE这一款 ,对应着就找出了…

虹科新品 | 最高80W!用于大基板紫外曝光系统的高功率UVLED光源

光刻曝光是指利用紫外光源将胶片或其他透明物体上的图像信息转移到涂有光敏材料(光刻胶)表面以得到高精度和极细微图案的一种制作工艺,主要用于半导体生产、高精密集成电路、PCB板制造、MEMS等行业。光刻技术是半导体工业和集成电路是最为核心…

SAP FICO 理解业务范围的概念

业务范围 以前转载过几篇关于业务范围的文章: SAP Business Area 业务范围_SAP剑客的博客-CSDN博客_sap 业务范围 SAP FI 系列 002:业务范围派生_stone0823的博客-CSDN博客_sap 业务范围 http://blog.sina.com.cn/s/blog_3f2c03e30102w9yz.html 仍是…

修改redis的配置文件使得windows的图形界面客户端可以连接redis服务器

一、redis自带的客户端(了解,不方便)进入到redis安装目录的bin目录下指定主机和端口# ./redis-cli -h 127.0.0.1 -p 6379127.0.0.1:6379> exit 【退出】-h:redis服务器的ip地址-p:redis实例的端口号如果不指定主机和…

Dropout

目录一、Dropout出现的原因二、什么是Dropout?三、为什么Dropout解决过拟合?3.1 取平均的作用3.2 减少神经元间复杂的共适应关系四、实现Dropout—— pytorchexample 1example 2example 3设置dropout参数技巧一、Dropout出现的原因 在机器学习的模型中 如果模型的…

“终于懂了” 系列:组件化框架 ARouter 完全解析(三)AGP/Transform/ASM—动态代码注入

ARouter系列文章: “终于懂了” 系列:组件化框架 ARouter 完全解析(一)原理全解 “终于懂了” 系列:组件化框架 ARouter 完全解析(二)APT—帮助类生成 “终于懂了” 系列:组件化框架…

拼多多出评软件工具榜单助手使用教程

软件使用教程下载软件前,关闭电脑的防火墙,退出所有杀毒软件,防止刷单软件被误删桌面建立一个文件夹,下载下来的安装包放进去,解压到当前文件夹,使用过程中别打开防火墙、杀毒软件。打开软件后,…

计算机系统基础知识

计算机的基本组成 计算机组成逻辑图 计算机部件作用 一级部件作用 运算器:计算机的执行部件,受控制器控制,执行算术运算或逻辑运算控制器:决定计算机运行过程的自动化。不仅能保证程序指令的正确执行,还能处理异常事…

代谢组+转录组分析为腰果树果实发育成熟过程中代谢网络提供见解

文章标题:Metabolomic and transcriptomic analyses provide insights into metabolic networks during cashew fruit development and ripening 发表期刊:Food Chemistry 影响因子:9.231 作者单位:海南大学 百趣生物提供服务…

matplotlib学习笔记(持续更新中…)

目录 1. 安装,导入 2. figure,axes(图形,坐标图形) 2.1 figure对象 2.2 axes对象 2.3 代码演示 2.3 subplot() 方法 3. 图表的导出 3.1 savefig() 方法 3.2 代码演示 1. 安装,导入 pip install m…

关于数字化营销技术实现之【数据埋点】

1.如何实现数据埋点?小程序数据埋点是指在小程序中收集用户行为数据和业务数据的一种技术手段,以便对用户行为和业务运营进行分析和优化。下面是一些实现小程序数据埋点的方法:使用小程序统计分析工具:小程序平台提供了统计分析工…

大数据周会-本周学习内容总结0102

目录 01、ElasticSearch-学习总结 02、SpringbootElasticSearch构建博客检索系统 01、将MySQL数据同步到ES中 02、SpringBoot集成ES 03、本周学习计划 第一次周会 大数据总监、搜狐四年-中国搜索 【mapReduce】sql 大数据代表:Hadoop、spark、es、flink zookee…

Python字符串处理 -- 内附蓝桥题:门牌制作,卡片

字符串处理 ~~不定时更新🎃,上次更新:2023/02/20 🗡常用函数(方法) 1. s.count(str) --> 计算字符串 s 中有多少个 str 举个栗子🌰 s "1354111" print(s.count(1)) # 答案为…

Java-路径总和

每日一题 Java-路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。…

Pyspark基础入门4_RDD转换算子

Pyspark 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase Hi…

Head First设计模式---2.观察者模式

观察者(Observer)模式,是一种行为型设计模式,允许你定义一种订阅机制,可以在对象事件发生时通知更多个“观察”该对象的其他对象,类似于“订阅—通知” 问题 假如你有两种类型的对象,顾客和商…

将默认安装的 WSL2 迁移至指定目录

将默认安装的 WSL2 迁移至指定目录WSL2 默认安装在 C 盘下,系统盘空间有限,推荐更改安装目录。 1. 默认安装的 WSL2 目录 C:\Users\cheng\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx 2. …

运筹系列65:TSP问题的精确求解法概述

1. 给定upbound的Christofides方法 这是可以给出上界的一个方法,可以证明构造出的路线不超过最优路线的1.5倍。步骤为: 1)构造MST(最小生成树) 2)将里面的奇点连接起来构成欧拉回路称为完美匹配。Edmonds给…

Docker--------Day2

1.Docker镜像 1.1 是什么 镜像 是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是…