转自:http://www.cnblogs.com/royenhome/archive/2011/05/20/2051879.html

异常场景:

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

问题原因:

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

解决方法之一:

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

更多相关文章

  1. 使用ProGuard遇到“conversion to Dalvik format failed with er
  2. Android(安卓)NDK 编译过程中遇到错误 exception handling disab
  3. 本来想用“{{”秀一波,结果却导致了内存溢出!
  4. android源码的编译问题总结
  5. 【经验】android webview 后退键导致表单再次提交
  6. android设备连接蓝牙外设导致activity重启(recreate)的问题
  7. Android(安卓)Studio代码自动检测错误提示
  8. Android(安卓)- 常见内存泄露
  9. Android捕获全局异常信息并实现上传

随机推荐

  1. ANDROID强制锁定竖屏_APP固定设置竖屏或
  2. Android(安卓)实现指南针效果
  3. android源码下载 一马平川
  4. 关于OPhone和Android以及JIL widget的问
  5. 关于openGL, openGL ES, openVG及android
  6. 【Android】Android intent 系统调用大全
  7. 在android中使用Post方式提交数据
  8. android 滑动相关(一) : OnScrollListene
  9. Android使用xml自定义软键盘效果(附源码)
  10. Android 图片缩放-Matrix