Activity调用finish却不立即执行onDestory

什么是Claude 的 Agent Skills? 摘要: Claude的Agent Skills功能支持通过结构化技能包(含指令、脚本、工具)实现任务自动化,如数据分析、文档生成等。核心能力包括:1)技能包管理(如Python脚本+模板);2)工具调用(API/数据库交互);3)子代理协作(拆分复杂任务)。快速上手步骤:创建技能包(如Excel报表生成)、配置工具权限、触发执行;支持多代理并行处理(如SQL查询+可视化)。关键技巧:工具需明确定义参数、利用子代理共享上下文、注重权限管控。官方文档与社区资源提供进阶指导,使Claude成为可编程的数字助手。 阅读详情

遇到一个奇怪的问题,我将打开的Activity放在一个栈里面进行管理,然后当我要关闭所有的Activity的时候

public void CloseAllActivity(){
		if(activityStack==null)return;
		while(true){
			Activity activity = currentActivity();
			if(activity == null){
				break;
			}
			activity = popActivity();
			activity.finish();
		}
	}
虽然每个Activity的finish方法我都调用了,可是他们的onDestory方法缺不是立即执行,而是不知在某个时候执行,后来发现调用了finish后onDestory不是立即被调用,只是我的一厢情愿。

但是随之而来出现了另外的一个问题,那就是我调用了Activity A的finish方法后,他的onDestory方法还没有被执行,但是我再打开这个Activity他走的是onCreate而不是onNewIntent,按理说我设置了android:launchMode="singleTask"这个Activity要是还在栈里面就不会重新创建而是走onNewIntent,难道我执行了finish但是他没有执行onDestory方法,Android根据这个finish方法被执行了,然后就任务已经不在栈里面了,所以就走了onCreate而不是onNewIntent方法?这个只是我根据现象做的假设,还要等有时间去看一下源码验证一下

void com.hyfsoft.viewer.HYFDocviewer.onDestroy()
Perform any final cleanup before an activity is destroyed. This can happen either because the activity is finishing (someone called finish on it, or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the isFinishing method. 




boolean android.app.Activity.isFinishing()
Check to see whether this activity is in the process of finishing, either because you called finish on it or someone else has requested that it finished. This is often used in onPause to determine whether the activity is simply pausing or completely finishing.


Returns:
If the activity is finishing, returns true; else returns false.
See Also:
finish

PD虚拟机安装CentOS7后必做的Parallels Tools配置指南(附常见错误解决) 本文详细指导在Mac的Parallels Desktop虚拟机中安装CentOS 7后如何高效配置Parallels Tools,包括环境准备、镜像挂载、依赖问题解决及性能优化。特别针对常见错误如挂载失败、依赖缺失等提供实用解决方案,帮助用户实现主机与虚拟机间的无缝交互和显示优化。 阅读详情

相关推荐

matlab物元可拓模型程序,熵权可拓物元模型

1 概述物元分析方法是中国学者蔡文于20世纪80年代提出的用于解决矛盾问题的技术方法,是研究物元及其变化规律,解决现实世界中不相容问题的有效方法,可应用于生态环境,水资源承载力,农用地分级和土地生态水平等综合评价研究中.本文主要介绍了熵权可拓物元模型的相关概念与该模型的建立过程.2 概念2.1 物元物元分析法的主要思想是把事物用"事物,特征,量值"(分别用N,C,V表示)3个要素以有序三元组的形式...

weixin_33823399的博客 4110

start Activity慢和finish Activity慢的原因

现有两个Activity, ActivityA和ActivityB. 1. 先说startActivity慢 假如从ActivitA跳转到ActivityB很慢,大概5秒或更长, 两个Activity的生命周期大概是这样的: ActivityA: onPause()....然后等几秒后才执行onStop() 这几秒钟在干吗呢? 在执行ActivityB的onCre...

LikeSidehu的专栏 3689

Rijndael密码算法

一 什么是Rijndael Rijndael是由比利时密码学家设计的分组密码算法,于2000年被选为新一代的标准密码算法——AES。今后会有越来越多的密码软件支持这种算法。 Rijndael的分组长度和密钥长度可以分别以32比特为单位在128比特和256比特的范围内进行选择。不过在AES的规格中,分组长度固定为128比特,密钥长度只有128、192和256比特三种。 二 Rijndael的加...

实践求真知 1万+

在activity中调用finish后并不是立马跳转

最近看到代码里在各种判断条件后跳转Activity,在finish之后还要加上return,本以为是多余的,上网查了一下后才发现,Activity在调用finish()方法后确实并不会立马跳转,而是先把finish之后的代码执行完以后才会调用当前Activity的onPause()方法 具体链接如下:blog.youkuaiyun.com/linhui9010/article/details/19168...

绝凌峰 1403

STM32电机库(ST-MC-Workbench)实战指南——三电阻电流采样电路参数配置详解

本文详细解析了STM32电机库(ST-MC-Workbench)中三电阻电流采样电路的参数配置方法,涵盖电阻选型、放大增益计算、滤波时间优化等关键步骤。通过实战案例和调试技巧,帮助工程师快速掌握电流采样技术,提升电机控制系统的精度与稳定性。特别针对ST-MC-Workbench界面参数设置提供了详细指导。

weixin_29186249的博客 505

vuecil3+版本下,兼容ie等不支持es6的低版本浏览器

*综上,完成兼容性涉及到的配置的文件有,对应在页面中查看代码,就不单独附代码了:main.js。

yhr0322的博客 834

Android中调用finish()后不能立即执行onDestroy()的BUG

 (2013-12-02 15:55:58) 转载▼ 标签: ondistory it 分类: android应用技巧 在目前项目中(android2.0),发现一个严重BUG。当打开了A,B两个页面的时候,此时当前页面为B,如果在B中调用finish()后,虽然已经回到了A,但B却并没有执行onDestroy()方法,只有

yuanyuan_186的专栏 2674

从工业夹爪到Shadow Hand:一文看懂机器人灵巧手的硬件进化史(附避坑指南)

本文详细解析了机器人灵巧手从工业夹爪到Shadow Hand的硬件进化历程,涵盖刚性夹持器、自适应夹持器到多指灵巧手的技术突破。文章还提供了选购指南与技术避坑策略,帮助读者根据操作复杂度和环境结构化程度选择最适合的解决方案,适用于制造业、医疗和服务业等多个领域。

weixin_29074409的博客 484

关于Activity调用finish却不立即执行onDestory的困惑

最近在做一个项目时,碰到一个bug:在当前activity中注册广播接收器,接收到广播时做一些业务逻辑,而把注销广播接收器的方法写在onDestory中,当前activity调用finish方法后,偶尔还能接收到广播,即广播接收器没有被立即注销。        经过查看项目代码,初步调查发现bug原因定位到:Activity调用finish却不立即执行onDestory方法,导致广播接收器没有被

初来乍到 7484

从Live2D到Unreal Engine:2D与3D虚拟数字人核心技术实现路径解析

本文深入解析了从Live2D到Unreal Engine的2D与3D虚拟数字人核心技术实现路径,涵盖技术选型、制作流程与优化技巧。通过对比2D骨骼动画与3D建模渲染的差异,结合实战案例,帮助开发者根据项目需求选择合适方案,提升虚拟数字人的交互体验与视觉效果。

weixin_30379531的博客 149

PS射击游戏射线检测优化:原理、工程与全链路高性能实现

射线池:减少GC,提升批量检测效率。分层检测:先粗后细,远距离射击高效判定。批量检测:并行处理,适合大量射线场景。空间结构:进一步加速大场景检测。下面继续深入射线检测优化,补充更多实用细节和进阶技巧,包括空间分区加速、射线检测多线程/异步化、射线合并与分帧、射线池通用模板、常见性能陷阱与调优建议等。对于极端性能需求,可自定义轻量级物理系统,仅检测关键对象(如玩家、子弹),跳过复杂物理引擎。结合AABB、OBB、球体等简单碰撞体,射线-包围体检测极快。空间分区+分层检测是大场景射线优化核心。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 434

Activity和Fragment的onDestory()区别及Finish()的总结

Fragment的生命周期回调方法:onDestory(): 官方文档如下: public void onDestroy () Called when the fragment is no longer in use. This is called after onStop() and before onDetach(). 即当Fragment不被使用时回调该方法,回

zhiqiang.com的博客 6060

SAP ABAP CO核心扩展-为企业定制ZCKM3N物料价格分析增强(CKM3 CKM3N CKM8N)

这篇文章,将为大家讲述物料价格分析扩展增强(ZCKM3N)的方法和原理,并基于CKM3N的视图之一“CV成本组件”,教大家如何一步步实现批量输出多工厂物料的物料价格分析报表。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3985

Android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别

参考:https://blog.youkuaiyun.com/yelangjueqi/article/details/9466347 Activity类中的finish()、onDestory()和System.exit(0) 三者的区别: finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System...

Wby_Nju的博客 231

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android 关于onDestory和finish释放资源

onDestory是一个Activity生命周期的最后一步,是几乎所有资源释放完了,才会执行。 而finish,是Activity执行后一定会立刻生效的。 Activity可能不会走onDestory,但是一定会走 finish。 如果我们把所有释放资源的操作放在onDestory的话,有可能会导致进入下个Acitvity的时候,上一个Activity里的代码还在跑。 举一个例子: 我们在A页面...

RikkaTheWorld 3631

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android 第一行代码 第二章 扩展-Activity.finish()与Activity.onDestory()的区别-活动的启动模式

第二章 活动(Activity)主要用于和用户进行交互

Zero_HWA的博客 425

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android Activity类finish、onDestory和System.exit介绍

image.png finish函数 Activity.finish() Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。 当调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其...

u012739527的博客 443

finish、onDestory、System.exit的区别

Activity.finish() Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。 当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因

Insomniaaaaaaa的博客 722

安卓开发-Activity中finish() onDestroy() 和System.exit()的区别

Activity.finish() Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。 当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了

imzoer的专栏 8万+

Android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别

Activity类中的finish()、onDestory()和System.exit(0) 三者的区别: finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。 Activity.finish() Ca...

emmmsuperdan的博客 249

面试官:Activity finish 后,会立即回调 onDestory() 吗?若不会,最长延迟多久?...

秉心说 TM | 作者承香墨影 | 校对https://juejin.cn/post/6898588053451833351 | 原文Hi,大家好,这里是承香墨影!Activity 作为 ...

承香墨影的博客 4083

Activity的三种关闭方法分析(finish;onDestory;exit)

Activity.finish() Call this when your activity is done and should be closed.  在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。 当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时

RuiMan的博客 2101

Activity的finish()与onDestory()的区别

finish()方法用于结束一个Activity的生命周期,而onDestory()方法则是Activity的一个生命周期方法,其作用是在一个Activity对象被销毁之前,Android系统会调用该方法,用于释放此Activity之前所占用的资源。 finish会调用到onDestroy方法, 可以在onDestroy里打印一句话,就会发现在finish方法那也会打印这句话Activity.f

liujiabin blog 756
上一篇: 浅析Android线程模型
下一篇: 可以替代文件管理器的文件管理神器Total Commander
GaoJava08
博客等级 码龄18年 201粉丝 148原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值