Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
来源:互联网 发布:java ant 编译命令 编辑:程序博客网 时间:2024/04/29 08:17
异常场景:
经常在应用中需要处理一些耗时的工作,诸如读取大文件、访问网络资源等。为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来解决该问题,并一般以ProgressDialog等提示性控件来告知用户当前的程序进度。而标题中描述的异常则会常常出现在这样的场景中,并且往往掩盖了导致异常的真正的罪魁祸首。
问题原因:
从异常描述中,大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow。而这往往误导了我们,把过多的精力放在查找所谓的内存泄露上了。其实存在这么一种情况,即因我们在非主线程中的某些操作不当而产生了一个严重的异常,从而强制当前Activity被关闭。而在关闭的同时,却没能及时的调用dismiss来解除对ProgressDialog等的引用,从而系统抛出了标题中的错误,而掩盖了真正导致这个错误的异常信息。
解决方法之一:
本解决方法并不能真正的解决问题,但是在一定程度上可以将真正导致错误的异常信息显露出来。即重写Activity的onDestroy方法,在方法中调用dismiss来解除对ProgressDialog等的引用。
1 0
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Android错误:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here异常解决
- has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here
- has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here
- 问题排查:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was or
- HTTP_USER_AGENT
- 今日BBC
- 选择排序法
- CDN 原理
- 给jsp页面加图片加载不出来的解决办法
- Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added
- Centos6.5离线配置CDH5.1心得和遇到的问题(已安装成功)
- Python 数据结构与算法——二分图(bipartite graph)
- JavaScript 异步原理
- SublimeText3 snippet 编写总结
- [从头学数学] 第146节 数据的分析
- onFinishInflate onSizeChanged onDraw 运行顺序
- 输出指定日期范围内的日期列表
- 帮你理解KMP算法以及怎么求next数组