Android 横竖屏切换之窗体泄露leaked window DecorView XXXActivity
前言
遇到问题
Android 横竖屏切换之窗体泄露leaked window DecorView XXXActivity
has leaked window DecorView@e6d2d3c[XXXActivity] that was originally added here
场景
在android 横竖屏切换时androidManifest 对应Activity可以设置
<activityandroid:name=".XXXActivity"android:configChanges="orientation|keyboardHidden"/>
但这样设置会让该Activity重新创建
该Activity会触发生命
onPause —>onSaveInstanceState —>onStop —> onCreate —>onStart —>onRestoreInstanceState ---->onResume
如果不做处理 可能会出现 leaked window DecorView XXXActivity
翻译就是窗体泄露 大概就是指 生命周期发生变化时 view还在显示 没有做关闭处理
即:在 Activity 上去构建一个置于 Activity 之上的 Dialog ,这个窗口会依赖于 Activity。如果在浮窗没有被 dismiss 时,Activity 被 finish,就会出现 Window Leaked!
在横竖屏切换时 首先会走 onPause 生命周期 我们可以通过监听器监听此时的窗口状态
if (loadingDialog != null) {if (loadingDialog.getWindow() != null)loadingDialog.getWindow().getDecorView().getViewTreeObserver().addOnWindowAttachListener(new ViewTreeObserver.OnWindowAttachListener() {@Overridepublic void onWindowAttached() {ALog.e("loadingDialog ->onWindowAttached");}@Overridepublic void onWindowDetached() {ALog.e("loadingDialog ->onWindowDetached");}});}
通过状态捕捉 来处理相应的dialog是否做了关闭处理
解决方法 一
在 Activity 中重写 onCreateDialog 方法,通过该方法让系统对当前dialog管理
@Overrideprotected Dialog onCreateDialog(int id) {Dialog dialog = new Dialog(this);return dialog;
}
解决方法 二
在Activity的 onDestroy()直接处理 如果没有关闭就关闭掉
@Overrideprotected void onDestroy() {super.onDestroy();if (progressDialog != null) {progressDialog.dismiss();}}相关文章:
Android 横竖屏切换之窗体泄露leaked window DecorView XXXActivity
前言 遇到问题 Android 横竖屏切换之窗体泄露leaked window DecorView XXXActivity has leaked window DecorViewe6d2d3c[XXXActivity] that was originally added here 场景 在android 横竖屏切换时androidManifest 对应Activity可以设置 <activityandroid:name".XX…...
mysql之视图执行计划
一.视图 1.1视图简介 1.2 创建视图 1.3视图的修改 1.4视图的删除 1.5查看视图 二.连接查询案例 三.思维导图 一.视图 1.1视图简介 虚拟表,和普通表一样使用 MySQL中的视图(View)是一个虚拟表,其内容由查询定义。与实际表不…...
软件安装文档 | Docker (简洁)
如果之前安装过旧版本的Docker,可以使用下面命令卸载: yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine …...
PHP代码审计之实战审代码篇2
4. 仔细观察如下代码,思考代码有什么缺陷,可能由此引发什么样的问题? <?php require_once("/home/rconfig/classes/usersession.class.php"); require_once("/home/rconfig/classes/ADLog.class.php"); require_onc…...
05 Ciso模拟器连接腾讯云物联网开发平台
Ciso声明:本篇文章基于使用腾讯云物联网平台连接自定义esp8266物联网设备(腾讯连连控制开关实现) - CSDN App改编 一、总体概览 功能描述: 使用腾讯连连小程序进行控制, Alarm(警铃):开的时候ÿ…...
Nginx(二十) 获取真实客户端IP
客户端在访问互联网应用服务器时,与真实的应用服务器之间会因为有多层反向代理,而导致真实应用服务器获取的仅是最近一层的反向代理服务器 IP。为使 Nginx 后端的上游服务器可以获得真实客户端 IP,Nginx 提供了 ngx_http_realip_module 模块用…...
【攻防世界】Reverse—— IgniteMe writeup
main函数:首先检查前4个字符是否“EIS{”,如果是,则会进入check函数。如果check返回true,则会显示“Congratulations” int __cdecl main(int argc, const char **argv, const char **envp) {int result; // eaxsize_t i; // [es…...
m1芯片电脑上的paragon15如何安装激活 m1芯片电脑上ntfs for mac如何安装
Paragon NTFS软件在M1芯片电脑上安装之后,最后一步会让我们“允许加载第三方内核扩展”,具体如下图所示。 图1:允许加载第三方内核扩展 按照图中提示“单击此处“,然后打开安全与隐私。接下来依次点击小锁标志进行解锁,…...
【DevOps-01]】DevOps介绍
一、简要描述 DevOps:Development & Operations的缩写,也就是开发&运维 DevOps是一个不断提高效率并且持续不断工作的过程。 核心:简化Dev和Ops团队之间的流程,使整体软件开发过程更快速。 DevOps定义: DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和…...
基于PHP的花店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的花店管理系统 一 介绍 此花店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。(附带参考设计文档) 技术栈:phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 …...
《PySpark大数据分析实战》-24.数据可视化图表介绍
📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…...
kafka 偏移量的类型与提交方式
kafka checkpoint 在流处理中,“checkpoint” 通常指的是将应用程序的状态保存到可靠的存储系统中,以便在发生故障或应用程序需要重启时能够从先前的状态中恢复。这包括保存处理过的事件、中间结果以及任何其他状态信息。“Checkpointing” 可以确保系统的一致性,并提供容错…...
TCP服务器的编写(下)
我们现在开始对我们的客户端开始封装 我们的客户端,创建完套接字,需不需要bind呢?? 当然是不需要的,你本身是一个客户端,其他人写的应用也可能是客户端,如果我们bind,一定意味着我们…...
Linux系统安全及应用
目录 一、系统安全的加固 1、账号安全的基本措施 1.1 将用户设置为无法登录 1.2 锁定长期不使用的账号 1.3 删除无用的账号 1.4 锁定账号文件passwd、shadow 2、密码安全控制 2.1 设置密码有效期 2.1.1 适用于新建用户 2.1.2 适用于已有用户 2.2 强制用户下次登录一…...
初识Web服务器
一、web服务器 1、什么是web服务器? web服务器就是web项目的容器,我们将开发好的web项目部署到web容器中,才能使用网络中的用户通过浏览器进行访问。 一张图带你了解web服务器有啥作用: 在我的电脑上有一个已经做好的项目&#…...
IOS - 手机安装包 ipa 常见几种方式
安装 ipa 包的方法有很多中,可以通过不同的软件安装,本文只列出了常用的几种,做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会提示是否信任此电脑࿰…...
60、resnet50 权值和参数加载
上一节我们将 resnet50 中需要下载的权值,以及每层卷积的参数,都下载并且保存到了 仓库 resnet50_weight 目录,在仓库的这个连接。 在将权值保存好之后,接下来就是要看如何使用这些权值,也就是如何加载。本节就介绍下我们实战过程中,如何加载这些权值。 加载权值 加载权…...
wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法
wordpress在界面将站点地址直接修改为https导致上不去问题的解决办法 #修改数据库yz_options...
数字IC后端实现之快速获取innovus中drv violation的所有net list
在Innovus中place_opt_design和optDesign阶段,我们经常会看到如下所示的log提示信息,核心关键词是“ Reasons for remaining drv violations”。而且告诉我们总共有819条net存在drv violation,且无法被工具优化掉。 Reasons for remaining dr…...
【开源】基于JAVA语言的智能教学资源库系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…...
Vue3项目救星:我是如何用Cursor的‘项目规则’功能,让团队新人一天上手的
Vue3团队协作革命:用Cursor项目规则实现代码规范的自动化治理 当新成员加入你的Vue3项目时,是否经历过这样的场景?新人提交的代码里混杂着选项式API和组合式API,路由命名忽而短横线忽而大驼峰,样式文件里散落着各种魔…...
视觉语言模型VLM高效部署:基于TensorRT-LLM的C++推理实践
1. 视觉语言模型VLM与TensorRT-LLM的黄金组合 视觉语言模型(VLM)这两年真是火得不行,它能让AI同时理解图片和文字,像人类一样看图说话。但实际部署时,很多团队都会遇到性能瓶颈——特别是用Python直接推理时࿰…...
HarmonyOS 5 + UniApp 真机调试保姆级教程:从HBuilderX配置到ArkUI Inspector查错
HarmonyOS 5 UniApp 真机调试全流程实战指南 第一次在HarmonyOS设备上调试UniApp应用时,我盯着HBuilderX里那个灰色的"运行到鸿蒙设备"按钮整整半小时。设备明明连着USB线,开发者模式也开了,但工具就是识别不到我的MatePad Pro。…...
AI写教材必备!高效工具生成低查重教材,节省大量时间
AI教材生成工具评测与介绍 在编写教材前,选择合适的工具简直是一场“挣扎”的过程!如果用普通的办公软件,功能就显得太简单,框架和格式都需要自己一一调整;若选用专门的AI教材写作工具,操作却显得复杂&…...
5分钟搞定fastANI安装与基因组比对:从conda安装到结果解读全流程
5分钟搞定fastANI安装与基因组比对:从conda安装到结果解读全流程 第一次接触基因组比对时,我被各种复杂的参数和晦涩的结果文件搞得晕头转向。直到发现了fastANI这个神器——它不仅能快速计算基因组间的平均核苷酸相似性(ANI)&am…...
OpenClaw备份方案:GLM-4.7-Flash自动化任务容灾保护
OpenClaw备份方案:GLM-4.7-Flash自动化任务容灾保护 1. 为什么需要备份OpenClaw自动化任务 去年冬天,我的硬盘突然崩溃,导致辛苦配置的OpenClaw自动化任务全部丢失。那一刻我才意识到,当AI助手成为日常工作的"数字员工&quo…...
从SWF中提取供应链安全控制:JPEXS Free Flash Decompiler安全研究
从SWF中提取供应链安全控制:JPEXS Free Flash Decompiler安全研究 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler JPEXS Free Flash Decompiler是一款强大的开源工具&#x…...
WSABuilds系统调用:Windows与Android内核交互机制解析
WSABuilds系统调用:Windows与Android内核交互机制解析 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root sol…...
SLAM Toolbox应用宝典:从技术原理到实战落地的全面指南
SLAM Toolbox应用宝典:从技术原理到实战落地的全面指南 【免费下载链接】slam_toolbox Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS 项目地址: https://gitcode.com/gh_mirrors/sl/slam_toolbox SLAM Toolbox…...
SEER‘S EYE模型辅助计算机组成原理教学:概念可视化与问答
SEERS EYE模型辅助计算机组成原理教学:概念可视化与问答 计算机组成原理这门课,对很多学生来说,就像在学一门“外星语”。CPU、寄存器、流水线、缓存……这些词听起来就够抽象的,更别说理解它们是怎么协同工作的了。传统的教学方…...
