Android中View not attached to window manager错误的解决办法

Android悬浮框权限判断WindowManager 这个是一个悬浮框权限的判断代码,基本涵盖市面上主流手机的判断,可以直接下载使用,测试过,非常的好用 立即下载

原因基本都是Dismiss对话框的时候,Activity已经不再存在。

常发生这类Exception的情形都是,有一个费时的线程操作,需要在显示一个Dialog,在任务开始的时候显示一个对话框,然后当任务完成了再Dismiss对话框,如果在此期间如果Activity因为某种原因被杀掉且又重新启动了,那么当Dialog调用Dismiss的时候WindowManager检查发现Dialog所属的Activity已经不存在了,所以会报java.lang.IllegalArgumentException: View not attached to window manager

其实此类Exception的一重要的原因是,Dialog的创建显示和取消都允许在非UI线程中进程。在Android当中非UI线程是不允许操作UI相关的事情,比如添加移除View等,但是为会么允许创建显示和取消对话框呢?而且还有可能引发此Exception导致应用Crash。


要想避免此类Exception,就要正确的使用对话框,也要正确的使用线程。

正确的使用对话框

不要在非UI线程中使用对话框创建,显示和取消对话框。
那么对于异步操作显示对话框怎么办呢?Activity都有相应的操作对话框的回调比如onCreateDialog(),showDialog(),dimissDialog(),removeDialog()等等。这些因为都是Activity的方法,所以用起来更方便,也不用显示创建和操控Dialog对象,一切都由框架操控,相对来说比较安全。
另外就是一定要让对话框对象在Activity的可控制范围之内和生命周期之内,比如一定要是它的成员变量,并且在让对话框变量活跃在Activity的onCreate()和onDestroy()之间。

正确的使用线程

尽量少用单独线程,除非是真正的费时操作才用线程,线程也不要直接用Java式的匿名线程,除非是那种单纯的操作,操作完成后不需要做其他事情的。
尽可能多用Android提供的类比如AsyncTask等。另外如果线程操作过程中还需要与主线程有交互,那么最好保存一个线程的对象,并且线程内部最有一定的控制,这样可以让Activity更好的操控线程。
如果说某些操作是特别费时的,且是经常性的操作,比如从网络获取数据,或是从后台读取文件,或是导入/导出,恢复/备份的事情,最好放到后台Service中去做,然后在StatusBar中给出相应进度。


Android中 View not attached to window manager错误的解决办法


View not attached to window manager解决方案


网络摄像头(IPC)介绍:类型、供电、镜头、夜视等 IPC(Internet Protocol Camera,网络摄像头),它是一种由传统摄像机与网络技术结合所产生的新一代摄像机。它可以将视频、音频、报警及控制信号通过网络传输,接受网络监控主机(NVR或监控管理平台)的管理。IPC可与路由器、交换机、NVR等设备组建成为监控系统。 阅读详情

相关推荐

数据结构实验1.2—高精度计算PI值(西工大)

这是数据结构第二题的题目,是让我们根据用户的需求来计算派的值 这是题目的详细描述,刚看到这道题的时候,我是真的头大,完全没有思路,于是查找了一些大佬的笔记后才开始编写 这是我在写这些代码是所运用到的数学反三角函数幂次展开式的知识。 下面是正确的代码以及我的一些见解,和需要注意的一些地方。希望能对你有所帮助。如有更加精简的算法,请在评论区留下你的算法!!!谢谢!!! #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdl

abcdef0623的博客 5831

Android 报错处理:not attached to window manager

not attached to window manager有许多场景发生 最近在dialog上碰到此问题 WindowManager: android.view.WindowLeaked: Activity com.XXXXXX.LoginActivity has leaked window DecorView@613753a[系统信息] that was originally added...

KWMax 2万+

Gromacs文件格式全解析:xtc vs trr vs cpt,哪种更适合你的模拟需求?

本文深入解析Gromacs分子动力学模拟中的三种核心文件格式xtc、trr和cpt,详细对比其技术特性和适用场景。xtc适合存储效率优先的场景,trr保留完整动力学数据,cpt确保模拟精确重启。通过实际配置示例和存储优化技巧,帮助用户根据模拟需求选择最佳格式组合,平衡分析灵活性与存储成本。

weixin_29281941的博客 96

Android问题集锦之五十:not attached to window manager

not attached to window manager有许多场景发生,下面说下Dialog的dismiss引发的崩溃。场景复现:1、异步任务或其他后台线程操作,界面显示滚动条。 两个Tab页快速点击切换,有一定几率出现上述问题引起的崩溃。java.lang.IllegalArgumentException: View not attached to window manager at

懒人的技术笔记 2万+

Cartographer纯定位实战:从仿真到真机部署的避坑指南

本文详细介绍了将Cartographer算法应用于机器人纯定位模式的完整实战流程。通过对比传统AMCL方案的不足,阐述了Cartographer基于子图匹配实现高精度、高鲁棒性定位的优势。内容涵盖从仿真环境测试到真机部署的核心步骤,包括关键配置文件修改、源码调整以及参数调优,旨在帮助开发者避开常见陷阱,成功实现稳定可靠的机器人定位系统。

weixin_29063681的博客 251

[RK3568 Android11] 教程之原厂SDK源码适配AIO-3568J板子跑起来

目录 一、前提 二、修改dts设备树 三、适配板子的dts 四、编译系统烧入固件验证 一、前提 因源码是直接使用原厂的SDK,没有使用firefly配套的SDK源码,所以手上这块firefly aio-3568j板子在硬件设计上与原厂使用的板子会有些差异;就是因为这些差异会导致新固件烧入后,debug串口打印许多错误信息,可能的话,系统还会崩溃掉,跑不起来; 主要差异在哪里呢?比如: ● DDR类型和品牌多样性; ...

~未来可期~ 1744

not attached to window manager问题解决

show(),或者dialog.dismiss().导致window manager无法管理dialog。* 避免报:not attached to window manager .* 避免报:not attached to window manager .关于出现这个问题,一般是因为Activity已经在finish了,但是还在。* 20210913 安全关闭对话框 .* 20210914 安全打开对话框 .

蛮吉的博客 2320

AES加密算法及AES-CMAC原理白话版系统解析

对AES不同加密算法,加密模式,加密原理,填充算法及AES-CMAC算法的详细系统介绍,帮助大家对AES进行系统掌握。

initiallizer的博客 4070

Android 性能优化 (十四) 常见的奔溃crash问题

1.not attached to window manager //判断Activity是否Destroy protected boolean isDestroy(Activity activity) { return activity == null || activity.isFinishing() || (Build.VERSION.SDK_INT >= Build.VERSION_...

深南大盗的博客 2396

环境配置与基础教程:当前大厂主流套路:使用 MLflow 全链路管理 YOLO 实验参数、指标与模型版本

YOLO26与MLflow结合实现高效实验管理 YOLO26通过移除DFL模块和实现无NMS端到端推理,在CPU推理速度上提升43%,同时简化了模型导出流程。MLflow 3.10/3.11版本新增多工作区支持、成本追踪和安全序列化等功能,为机器学习实验提供全生命周期管理。两者结合可解决传统"截图+Excel"式实验管理的痛点,实现参数追踪、指标对比和模型版本控制的自动化。 关键优势: YOLO26架构优化带来显著性能提升 MLflow提供实验到生产的全链路管理 原生集成简化了计算机视觉

ZXSXJ的博客 191

【肌电处理】肌电信号EMG积分肌电值+均方根值+中值频率+平均功率频率【含Matlab源码 3386期】

肌电信号EMG积分肌电值+均方根值+中值频率+平均功率频率 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

Android中 View not attached to window manager错误的解决办法

最近在写一个小程序哈,过程中遇到了java.lang.IllegalArgumentException: View not attached to window manager的错误,也上网找了不少解决的办法,但是,很不幸的是,网上的办法貌似都对我这种情况没用哇>_ 先把网上搜到的方法贴一贴哈~如果有同鞋遇到这样的问题可以针对自己的具体情况选择相应的解决办法啦^_^ 网上的方法之一:

Listening_music的专栏 4万+

FPGA经验谈系列文章——3、逻辑级数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA开发tips系列——前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的

gzy0506的博客 1万+

View not attached to window manager

if(dialog!=null&&dialog.isShowing()) dialog.dismiss();//偶尔抛出异常 ----------------------------------------------------------------------...

149

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android Exception: View not attached to window manager

最近公司项目上线之前用Monkey测试,一直出这个错误:Exception: View not attached to window manager。特别纠结,后来总结了下,就是在Activity消失的情况下,还调用dialog的dismiss方法就出这个错误了。我的解决办法是: 判断当前的activity.isFinishing() + !=null + isShowing(),这三种方式去防

学习记录 1437

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android中View not attached to window manager(CRASH)的解决方法

Android中View not attached to window manager(CRASH)的解决方法 最近在工作中遇到了java.lang.IllegalArgumentException: View not attached to window manager的问题,由于刚接触Android,对Android中遇到的各种问题还不能很快的去处理,所以,这个问题就搁置了一段时间,今天来到又...

HPeak的博客 1593

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

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

关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析

转载请务必注明出处:http://blog.csdn.net/yihongyuelan 今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com.Android.phone 已停止运行。一开始猜想会不会是解锁PIN码的时候处理导致了Phone进程报错,通过log分析找到了问题的大概原因: [plain] view

zwq1457的专栏 740

java.lang.IllegalArgumentException: View not attached to window manager

最近遇到一个问题,在分屏的情况下弹出来一个ProgressDialog,在ProgressDialog还没有消失的时候,取消分屏,变成全屏,这时候就出现了crash,log如下: --------- beginning of crash 06-28 15:29:32.693 5522 5522 E AndroidRuntime: FATAL EXCEPTION: main 06-28 15:

wangjing4444的博客 1554
上一篇: android:taskAffinity与android:finishOnTaskLaunch之我见
下一篇: TextView 图文编辑
dcking
博客等级 码龄18年 8粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值