dialog--not attached to window manager
-- to not window Manager Dialog
2023-09-14 08:59:52 时间
该异常表示view没有添加到窗口管理器,通常是我们dismiss对话框的时候,activity已经不存在了,建议不要在非UI线程操作对话框。 [解决方案]:常发生这类Exception的情形都是,有一个费时的线程操作,需要显示一个Dialog,在任务开始的时候显示一个对话框,然后当任务完成了在Dismiss对话框,如果在此期间如果Activity因为某种原因被杀掉且又重新启动了,那么当dialog调用dismiss的时候WindowManager检查发现Dialog所属的Activity已经不存在,所以会报错。 要避免此类Exception,就要正确的使用对话框,也要正确的使用线程: 1.不要在非UI线程中使用对话框创建,显示和取消对话框; 2.尽量少用单独线程,出发是真正的耗时操作采用线程,线程也不要直接用Java式的匿名线程,除非是那种单纯的操作,操作完成不需要做其他事情的。 3.如果是在fragment中发起异步网络的回调中进行dialog的操作,那么在操作之前,需要判断 isAdd( ),避免fragment被回收了但是还要求dialog去dismiss 4.在Activity onDestroy中对Dialog提前进行关闭
相关文章
- iOS开发之SQLite--C语言接口规范(三)——Binding Values To Prepared Statements
- iOS之UI--辉光动画
- ELASTICSEARCH7.4 免费启用X-PACK插件 设置账号、权限 包含错误--ERROR: FAILED TO SET PASSWORD FOR USER [APM_SYSTEM]
- 源码系列--OkHttp(CallServerInterceptor)
- [Javascript] Broadcaster + Operator + Listener pattern -- 10. Define a Function to Set Common Behaviors in Operators
- [Functional Programming 101] Crocks.js -- when to use map and when to use chain?
- Spring中配置和读取多个Properties文件--转
- java知识点查漏补缺-- 2020512
- android--线程
- 设计模式--建造者设计模式
- [MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
- association in CDS view is converted to LEFT OUTER MANY TO ONE JOIN in the runtime
- LeetCode【8】. String to Integer (atoi) --java实现
- SpringMVC -- 第一个简单的程序
- y83.第四章 Prometheus大厂监控体系及实战 -- prometheus告警机制进阶(十四)
- L47.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- users和whoami
- Lenovo k860i 移植Android 4.4 cm11进度记录【下篇--实时更新中】
- Android 开发 --Unable to resolve target 'android-19'
- 从零开始,学会Python爬虫不再难!!! -- (3)揭秘:我是如何绕过登录验证的 丨蓄力计划