异常场景:

经常在应用中需要处理一些耗时的工作,诸如读取大文件、访问网络资源等。为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来解决该问题,并一般以ProgressDialog等提示性控件来告知用户当前的程序进度。而标题中描述的异常则会常常出现在这样的场景中,并且往往掩盖了导致异常的真正的罪魁祸首。

问题原因:

从 异常描述中,大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow。而这往往误导了我们,把过多的精力放在查找所谓的内存泄露上了。 其实存在这么一种情况,即因我们在非主线程中的某些操作不当而产生了一个严重的异常,从而强制当前Activity被关闭。而在关闭的同时,却没能及时的 调用dismiss来解除对ProgressDialog等的引用,从而系统抛出了标题中的错误,而掩盖了真正导致这个错误的异常信息。

解决方法之一:

本解决方法并不能真正的解决问题,但是在一定程度上可以将真正导致错误的异常信息显露出来。即重写Activity的onDestroy方法,在方法中调用dismiss来解除对ProgressDialog等的引用。

最新文章

  1. 判断点是否落在面中的Oracle存储过程描述
  2. linux-yum
  3. 关于JQuery
  4. 退出系统时跳出frame框架
  5. HTTP 错误 500.21 - Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法
  6. 【C】——幻方算法
  7. GraphicsMagick为图片添加水印
  8. N个数的排列算法
  9. kuangbin_ShortPath A (POJ 2387)
  10. 核心概念 —— 契约(Contracts)
  11. Cassandra1.2文档学习(2)——节点间通信协议之gossip协议
  12. Android UI主线程与子线程
  13. sgu To xor or not to xor
  14. kali Rolling安装之后的一些常用配置总结
  15. 用Angular2+Express快速搭建博客
  16. 跨语言学习的基本思路及python的基础学习
  17. PHP秒杀系统全方位设计(一)
  18. SpringBoot Mybatis EnumTypeHandler自定义统一处理器
  19. asp.net结合html使用
  20. # BZOJ5300 [CQOI2018]九连环 题解 | 高精度 FFT

热门文章

  1. 一次应用js文件时遇到的怪异现象
  2. 20个面试题让你真正了解jQuery
  3. hdu 3410 单调栈
  4. Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊
  5. 【.Net 】Json和Xml解析
  6. Struts2(2)
  7. MySQL管理
  8. BEC listen and translation exercise 12
  9. 简单常用sql查询
  10. tensorflow中有向图(计算图、Graph)、上下文环境(Session)和执行流程