欢迎关注WX公众号:

Android开发中如果出现IllegalArgumentException问题,报错如下


# main(1)java.lang.IllegalArgumentExceptionView=DecorView@9b206f0[PayActivity] not attached to window manager

该异常表示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提前进行关闭

Android异常之#8002 java.lang.IllegalArgumentException相关推荐

  1. Android报错:java.lang.IllegalArgumentException: Surface was abandoned

    背景情况 使用Camera2 Api 直接报错 报错如下: java.lang.IllegalArgumentException: Surface was abandonedat android.ha ...

  2. Android 解析jwt遇到java.lang.IllegalArgumentException: bad base-64

    解析jwt的时候遇到了java.lang.IllegalArgumentException: bad base-64 百思不得其解 按照网上说的:Android&ios java 这俩咋就不好 ...

  3. Android之Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains

    1 问题 用takePhoto去照相的时候特么的一打开就报这个错误 2020-04-09 21:33:49.124 19016-19016/com.appsinnova.android.keepsha ...

  4. Get传递参数时发生java.lang.IllegalArgumentException异常

    功能:售后地址的验证 当用户点击某地址时,将地址信息传递到后台,再从后台调用接口,判断用户地址填写是否正确 解析地址功能的实现层代码(简化过的) publicvoidaddressResolution ...

  5. java.lang.IllegalArgumentException异常

    问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI ...

  6. java lang ill_解决spring的java.lang.IllegalArgumentException异常。

    来源于: http://cache.baiducontent.com/c?m=9d78d513d9981ff10fb8c7201a17a7355901c73c6b8b96027ea4c402c2331 ...

  7. HiveJDBC与其他JDBC一起使用时出现java.lang.IllegalArgumentException: Bad URL format

    问题描述: 程序中需要使用JDBC的方式同时访问Hive和MySQL,发现在获取MySQL连接的时候(DriverManager.getConnection方法)出现Hive的类中的Bad URL f ...

  8. 报错: java.lang.IllegalArgumentException: mapper [categoryName] of different type, current_type [text]

    Elasticsearch报错: 非法参数异常 Caused by: java.lang.IllegalArgumentException: mapper [categoryName] of diff ...

  9. java.lang.IllegalArgumentException: object is not an instance of declaring class 的解决办法

    问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI ...

最新文章

  1. python自加1_python中有自增
  2. 停止犯下这5个JavaScript风格错误
  3. 关于LIMIT(超出界限时,SQL执行也没有问题,而且结果集中只会到有数据的最后一条记录,不会出现空,已经过测试)
  4. delphi ini文件的基础读写。
  5. 白话machine learning之Loss Function
  6. Qt 窗口嵌入桌面 窗口 放在桌面
  7. 94-99.字符串函数使用和实现详解
  8. ROS Navigation-----发布Odometry信息
  9. 新词发现的学习和代码
  10. C# 网易云音乐API 多达100+ 支持登录,无损下载
  11. 如何换主题不被搜索降权
  12. 基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql)
  13. vscode开发小程序需要安装的插件集合
  14. 3D人物移动和相机跟随_学习整理资料
  15. jsp include jsp 中文乱码问题
  16. 可带癞子的通用麻将胡牌算法
  17. 复旦学长:考完初试的这段空档期应该怎么过
  18. 制作API离线chm帮助文件教程
  19. linux安装软件时Stuck at 0% [waiting for headers]错误
  20. Uncaught ReferenceError: xxx is not defined at HTMLInputElement.onclick JS问题

热门文章

  1. 【转】何谓智能视频监控技术与应用
  2. 天购——免费购物乐趣多
  3. 计算机操作教学计划,计算机操作基础教学计划.doc
  4. 使用xplorer2代替explorer
  5. Swiper3.x 自定义指示器-pagination
  6. 如何用qrcode获取动态二维码?
  7. 网络架构的演进--从胖AP到云AC
  8. Vivado使用技巧(29):约束功能概述
  9. 03-WIFI通讯获取Wifi名称及ip地址
  10. 关于batch_size的理解