activity的声明机制及返回保存信息

关于activiti流程撤回操作方法 客户提了一个需求activiti流程,操作错了怎么撤回,查了很多前辈的资料写了一个撤回的方法,方便大家参考。 代码如下 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resourc 阅读详情

在android中,每个界面对应一个Activity类的实例。android系统需要出渲染一个界面,其实背后,就经历了将这个界面对应的Activity类的实例进行实例,然后调用这个实例的Oncreate()、onStart()、onResume()方法进行对这个界面的渲染工作。其中,我们经常需要在onCreate()方法中实现对这个界面使用到的资源进行必要初始化工作,比如界面相关的xml文件的指定等。

而如果,我们需要关闭一个界面,我们除了可以在这个自定义的Activity的代码逻辑中,通过调用finish()方法来显示引导android系统调用这个实例的onPause()、onStop()方法来关闭这个界面。但是,在更多的时候,关闭界面不是我们人为地通过调用finish()方法来实现的,而是出现在我们调用新的界面或者系统强制切换界面,比如说来电话,的时候。需要注意的是,关闭界面并不意味着调用这个Activity实例的onDestory()方法来释放这个实例,而只是调用了这个Activity实例的onStop()方法,使其对应的界面被切换掉而已。

所以,这也意味着,即使某个界面被关闭,但是这个界面对应的Activity实例未必被释放掉。那么这个实例中的成员变量以及这个成员变量中原来有的值,仍然存在。但是,当系统的资源不足,比如说内存不足的时候,android系统就会优先考虑将这些界面被切换掉的Activity实例进行释放。一旦Activity实例被释放,这个实例所持有的成员变量以及其值都会被释放掉。换句话说,这个界面的状态就会消失。

为了实现界面的状态得到保留。android有一套保存状态的机制。在Activity实例被释放之前,严格来说在调用onStop()方法之前,会调用onSaveInstanceState()方法来保存状态。我们可以在自定义的Activity中实现这个方法,并且在这个方法中,将有关需要保留的状态的值保存到这个方法的参数outstate中。那么,当这个Activity类再次被实例化之后,我们就可以在这个自定义的Activity的onCreate()或者onRestoreInstanceState()方法里面的savedInstanceState参数取回之前需要保留的值。

当然,有两点需要另外说明的。

第一、其实即使我们不重新实现onSaveInstanceState()和onRestoreInstanceState()等方法,android系统也会调用Activity原始类的默认实现来完成一些必要状态的保存。所以,我们在实现这些方法的时候,在方法体中,必须要首先调用父类中的这些方法来实现必要状态的保存。

第二、onSaveInstanceState()在Activity实例被关闭之前未必会被调用的,比如说,用户通过按“back”键来显示关闭当前Activity的时候就不会调用了。对于onSaveInstanceState()什么场合会被调用,我的理解是,当这个Activity是被另外一个Activity切换掉的时候会调用onSaveInstanceState()方法,无论这个切换是主动还是被被动的。

总结:

虽然,Activity的生命机制中存在保留状态的机制,但是正与上面的论述,这个机制是未必奇效的。所以,在很多android应用的实现中,会采取将状态保存到数据库中的办法。在后面以后的博文中,我将会结合实际的例子,说明这个方法。

GitLab用户手册v2:从Docker部署到CI排错的实战指南 代码托管平台GitLab在企业协作中扮演关键角色,但团队常因环境部署、认证配置、CI流程混乱等问题陷入低效。通过Docker部署GitLab社区版,可快速搭建隔离环境并简化升级回滚;配置SSH密钥与个人访问令牌,能有效避免认证失败;CI流水线则让代码构建与测试自动化,提升交付效率。然而,这些技术实践若没有系统化沉淀,新人入职仍会反复踩坑。一份结构化的GitLab用户手册v2,涵盖从环境初始化、日常操作、CI编排到漏洞修复与备份恢复的完整路径,并将碎片化经验固化为可复用的团队规范。它既可作为运维排错的速查表, 阅读详情

相关推荐

BERTopic模型入门教程(附代码+参数调节)

BERTopic 是一种用于从文本数据中提取主题模型的新型方法。通过结合 BERT嵌入和传统的主题模型来生成语义丰富的主题。传统的主题模型(如LDA)主要依赖于词频矩阵,而 BERTopic 通过预训练语言模型生成高维语义嵌入来捕捉词语间的复杂关系,因此可以更好地处理上下文信息。BERTopic模型可以看作是创建其主题表示的一系列步骤。核心原理如下:就本质而言,BERTopic就是一个拼装框架,可以把每部分都替换成其他模型,只要完成任务即可。

m0_52069102的博客 1万+

Android activity的变量保存

一、当一个在Activity aA启动另一个Activity aB的时候两个Activity的回调函数的调用顺序: 1、aA的onPause()被调用; 2、aB的onCreate(),onStart(),onResume()调用依次被调用,此时aB获取了用户焦点; 3、这时如果aA如果在屏幕上不可见(aB的界面并不是全屏幕的),那aA的onStop()被调用。 由以上...

weixin_34266504的博客 201

利用netns做自环Iperf测试

netns可以让一台机器上模拟多个网络设备,是网络虚拟化的重要组成,将不同类型的网络应用隔离。一个net namespace有自己独立的路由表,iptables策略,设备管理。本文利用netns模拟网络来实现单机上网卡自环上的iperf测试或其他网络测试。

weixin_42414349的博客 3370

让Activiti记录变量历史信息

可能你在苦恼这个问题,因为在跟踪已结束流程的时候需要获取流程办理中设置的变量值(可以分析每个节点办理的详细状态),今天我们就来探索一下如何实现。 1.Activiti表结构设计 Activiti的表结构设计分为两种类型:运行时(ACT_RU)、历史(ACT_HI)。 1.1 运行时变量 所有运行时的变量都保存在表:ACT_RU_VARIABLE中,这些变量可以在启动流程、完成任务、动态添加...

Crystalqy的博客 3530

【EMC电磁兼容】02.04——原理图的实战落地细节

原理图上的关于EMC的落地体现一、元器件的选型二、原理图上的EMC体现在哪里?1.芯片电源管脚滤波去耦:2.时钟电路滤波设计3.低速电路滤波抗干扰设计4.通讯接口电路的防护滤波5.系统输入电源端口电路的防护滤波6.系统接地的定义7.芯片软件功能的审查 一、元器件的选型 ​ 原理图最初设计涉及到选型元器件方面: 元器件选型 不仅仅功能需要满足要求,还需要考虑其它细节参数在不同应力下的反应,封装的不同也会产生不同的变化。 元器件替代 常常因为成本原因进行器件替代,除了要考虑功能参数相同时也要考虑系统参数

Time to Forget 2242

别再问ARM麒麟怎么装微信了!手把手教你用铠大师搞定Windows软件(飞腾/海思芯片实测)

本文详细介绍了如何在ARM架构的信创电脑(如飞腾/海思芯片)上使用铠大师安装和运行Windows软件,解决微信、Office等常用软件的兼容性问题。通过实测数据对比,铠大师在性能和易用性上显著优于传统方案,为麒麟系统用户提供了一套完整的解决方案。

weixin_28736355的博客 889

activity 生命周期_从0系统学Android-2.4 Activity 的生命周期

本系列文章,参考《第一行代码》,作为个人笔记更多内容:更多精品文章分类 本系列持续更新中…. 2.4 Activity 的生命周期掌握 Activity 的生命周期对于开发者来说是非常重要的!2.4.1 返回栈Android 中的 Activity 是可以层叠的。我们每次启动一个新的 Activity,就会覆盖在原来的 Activity 上面,然后点击 back 键就会销毁最上面的 Activit...

weixin_39717152的博客 216

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2701

Activity的成员变量

// set by the thread after the constructor and before onCreate(Bundle savedInstanceState) is called.private Instrumentation mInstrumentation;private IBinder mToken;private int mIdent;/*package*/ ...

diaoju3333的博客 263

4、文化遗产数字记录的伦理框架构建

本文探讨了在数字技术快速发展的背景下,如何构建一个伦理框架以指导文化遗产的数字记录工作。文章分析了遗产保护的重要性以及当前面临的挑战,包括气候变化、全球化和技术变革等。同时,结合国际古迹遗址理事会(ICOMOS)的伦理原则和加拿大遗产专业人员协会(CAHP)的行为准则,提出了六个核心伦理类别,并讨论了其在实践中的应用。文章强调,伦理框架不仅有助于提高数字记录的质量和可持续性,还能促进专家合作、保护社区利益并确保数字遗产的长期可访问性。未来需要持续完善这一框架,以应对不断变化的技术和社会环境带来的新挑战。

7h6j5k4l3的博客 95

Windows 11 - 打开操作安全中心提示 “需要使用新应用以打开此 Windowsdefender 链接“ 解决方案(电脑更新了 Win11 系统版本后,想关闭病毒防护盾牌的时候提示打不开)

Windows 11 - 打开操作安全中心提示 "需要使用新应用以打开此 Windowsdefender 链接" 解决方案(电脑更新了 Win11 系统版本后,想关闭病毒防护盾牌的时候提示打不开),当您点击任务栏上要关闭安全中心防护设置时,这种情况打不开怎么解决,怎么办,Windows安全中心,病毒和威胁保护,账户保护,防火墙和网络保护,设备安全性。

🏆 前端领域优质创作者 1万+

Android —— 四大组件之Activity(一)

Android四大组件即Activity(前台)Service(后台),Broadcast(通信),ContentProvider(数据存储)一、Activity。

qq_45730283的博客 1265

ISP 芯片作为独立设备节点的驱动实现要点:多平台结构差异与工程部署策略解析

随着 ISP(Image Signal Processor)从 SoC 集成形态向独立芯片模块演进,在多摄系统、高动态场景、AI 图像前处理等需求下,ISP 作为单独设备节点进行驱动设计已成为主流趋势。尤其在多 SoC 平台(如高通、联发科、展锐、Rockchip)中,不同厂商对 ISP 的抽象方式与驱动接口处理存在显著差异。本文以实际工程为基础,从 Linux 内核下的设备注册流程、media\_entity 配置、VideoDevice 分配、数据 DMA 管理、与 sensor 的流同步控制等关键点展

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1461

Android之Activity生命周期

一、简介 Android活动默认运行在当前进程所拥有的栈中,前台可见的活动则在活动栈的最顶部。其他后台活动则在栈的里面,在正常的情况下(内存充足)其他的活动并没有被回收或者杀死,它们仍然存在于栈中保持着原来的状态。当前面的活动退出后,后面的活动就会搬到前台使得被用户可见。如果在非正常情况下(内存紧张、按下Home键后右启动其他应用)那么栈内的非前台Activity就可能被回收,但是当我们返回到该A...

Hdx的博客 626

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

浅谈Android四大组件之Service

一:Service简介 Android开发中,当需要创建在后台运行的程序的时候,就要使用到Service。 1:Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。另外,一个组件能够绑定到一个service与之交互(IPC机制),例如,一个service可能会处...

172

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android从入门到放弃—— 一、Activity详解2

门——Activity(二) 这里我们主要讲几个问题 Activity间数据的传递 特殊情况的生命周期即数据保存和恢复 manifest的相关配置 Activity间数据的传递 上一章我们讲Activity的跳转的时候,使用了一个类,Intent,翻译过来是意图的意思,像是一个中间的媒介,告诉系统我们想要干什么。就像是以前提亲,需要一个媒婆。过程大体如下: 王家大少爷和李家千金已经好了很长一段时间了,李千金让王少爷赶紧的来提亲,那么王少爷要怎么做呢?先找一个媒婆(初始化Intent对象); .

877

Android 返回上一个Activity总是执行onCreate

有两个activity,暂且把这两个activity叫A和B。A是主activity,从A跳转到B,然后执行某些操作作finish掉B返回A.就是这么一个过程,可每次返回A都先进入onCreate方法,很是奇怪。难道后台把我的A活动给停掉了?后来经过一番研究发现在,这种情况只在4.0上有问题,那肯定设置有问题。进设置一看果然是,在4.0后的系统上设置-》开发-》不保留活动,有这样一个选项。只要勾选

让创意的火花散落到屏幕的每一个dp 5176

铭记: 声明 Activity

今天开始学习在两个 Activity 中传递参数。其中用到了 Bundle 和 Intent ,初步了解了其用法。在这个过程中有两点需要注意:1. 新建了一个 Activity 时,需要在 AndroidManifest.xml 中声明,例如:不然会报异常:03-11 12:41:16.283: ERROR/AndroidRuntime(1240): android.content.ActivityNotFoundException: Unable to find explicit activity cla

ohuan的专栏 2609

activiti保存流程设计

流程设计图画完之后,就要保存,保存会操作两个表,act_re_model和act_ge_bytearray 保存act_re_model记录

{竹子} 6287

Android总结 - Activity任务和返回栈、保存Activity的状态

任务和返回栈  一个应用程序当中通常都会包含很多个Activity,每个Activity都应该设计成为一个具有特定的功能,并且可以让用户进行操作的组件。另外,Activity之间还应该是可以相互启动的。比如,一个邮件应用中可能会包含一个用于展示邮件列表的Activity,而当用户点击了其中某一封邮件的时候,就会打开另外一个Activity来显示该封邮件的具体内容。  除此之外,一个Activity甚

Siobhan的专栏 1万+

Android--Activity的保存和回复(横竖屏切换保存状态)

一,Activity的状态 activity是一个对象它的所有成员变量的值和视图的变化就是它的状态 二,运行时配置变更 重启activity-销毁activity-新建activity 三,应对配置变更 1.限定屏幕方向(就不会重启activity) 2.自己处理配置变更(也是不需要重启) 3.让系统配置变更 四,保存和恢复Activity的状态 保存状态回调 onSaveInsta...

weixin_43609490的博客 1071

Activity切换时保存数据的方法

protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("KEY", "传递的字符串参数值"); } public void onCreate(Bundle savedInstanceState) { super

怕忘了…… 3705

activiti取回

public static void main(String[] args) { //读取配置文件,获取工作流的引擎实例 ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml"); //获取引擎对象 ProcessEngi

weixin_41632551的博客 610

android activity返回事件,Activity系列讲解---返回结果的处理

设想一下:由当前Activity跳转到其它Activity,从其它Activity再返回到当前Activity时,如何获取其它Activity存放的数据?下面用一个例子讲解,点击selsect按钮跳转到另一界面,同时选择一个电话号码;然后将这个电话号码带回来显示在当前界面的EditText上。1.代码实现:(1)ResultActivity.class/***结果界面*/public class ...

weixin_30120049的博客 1617
上一篇: android中常用类及方法
下一篇: RadioGroup的多行布局
快乐的小鸟
博客等级 码龄14年 25粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值