`
chuxuaner
  • 浏览: 2447 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Android排错:has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added

 
阅读更多

 

 

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

异常场景:

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

 

问题原因:

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

 

解决方法之一:

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

 
分享到:
评论

相关推荐

    MongoDB入门到云上开发视频.zip

    课时7:MongoDB数据库排错日志分析.mp4 课时8:MongoDB数据库安全机制.mp4 课时9:MongoDB数据库高可用集群架构.mp4 课时10:深入MongoDB数据库运维与容器化.mp4 课时11:MongoDB索引原理及使用.mp4 课时12:MongoDB...

    第4课:静态路由故障排除.rar

    在IT领域,网络管理和故障排除是一项至关重要的技能,特别是对于静态路由的管理。静态路由是一种网络管理员手动配置的路由方式,它与动态路由相反,后者是通过路由协议自动学习并更新路由表。本课程“第4课:静态...

    tomcat排错经典案例之404.docx

    ### Tomcat 排错经典案例之 404 错误详解 #### 一、问题背景及概述 在搭建 `Struts2 + Spring + Hibernate` 框架的过程中,遇到了常见的 HTTP 404 错误。这类错误通常出现在 Web 应用程序中无法找到指定资源的情况...

    八爪鱼功能与排错-对外培训.mmap.km

    八爪鱼功能与排错-对外培训.mmap.km

    Windows用户态程序高效排错(01-02).rar

    在Windows操作系统中,用户态程序高效排错是一个关键的技能,尤其对于软件开发者和系统管理员来说,能够快速定位和解决问题是提升工作效率的关键。本压缩包文件"Windows用户态程序高效排错(01-02).rar"可能包含了两...

    Android代码演示大全

    非常实用的安卓代码学习资源,通过这些代码,让你在短时间内掌握Android的一些基础玩法! Android工程: 1.json数据传输 2.listview带翻页 3.radio和checkbox 4.RelativeLayout 5.ROM文件读写 6.SD卡读写 7.spinner...

    Windows.用户态程序高效排错 熊力.pdf.tar.gz

    《Windows用户态程序高效排错》是熊力撰写的一本技术书籍,主要针对Windows操作系统下进行用户态程序的调试和问题解决。这本书深入浅出地介绍了如何在Windows环境下高效地定位和解决用户态程序的错误,是软件开发...

    Kali Linux渗透测试(安全牛).txt

    │ 任务060:交换、无线渗透实操:AIRCRACK-NG基础、AIRODUMP-NG排错.mp4 │ 任务061:AIREPLAY-NG.mp4 │ 任务062:Mac地址绑定.mp4 │ 任务063:WPA.mp4 │ 任务064:COWPATTY 密码.mp4 │ 任务065:WPS.mp4 │ ...

    js基础实战2-排错题-题目_20230221144605.md

    js基础实战2-排错题-题目_20230221144605.md

    系统启动测试及排错红旗Linux授权认证培训.pptx

    系统启动测试及排错红旗Linux授权认证培训.pptx

    WebPack的高级扩展使用

    WebPack安装-使用-Loader-配置-插件-环境-排错详解(上) 博客地址:http://blog.csdn.net/pcaxb/article/details/53390151 下载地址:http://download.csdn.net/detail/pcaxb/9696873 WebPack安装-使用-Loader-配置...

    ASA防火墙最实用的排错思路和4种工具.doc

    思科推荐的排错流量: ①ping直连测试,如果不通,就检查接口配置。 ②查看路由,如果没有就写静态或者动态。 ③Packer tracer模拟一个数据包通过,看看ASA防火墙的处理过程。 ④使用Capture分别抓取收包和发包接口...

    [详细完整版]软件工程习题.pdf

    9. 排错工作中找到错误位置通常是大部分工作,因此选择A:95%。 10. 分层数据流图的顶层描述了系统的总体概况,选择A:总貌。 11. 数据流图中,数据流命名是为了明确数据流动方向,而文件命名则标识数据存储,两者...

    VC安装排错SHSQL.DLL EESWT.DLL NMSQL.DLL

    本案例中,我们遇到了一个关于"VC安装排错SHSQL.DLL, EESWT.DLL, NMSQL.DLL"的问题。这些是动态链接库(DLL)文件,对于Windows操作系统中的某些应用程序来说是至关重要的组件。DLL文件包含了可执行代码和数据,多个...

    Eclipse 进行 ANT 时错误 Javadoc failed java.io.IOException Cannot run program javadoc

    在Eclipse集成开发环境(IDE)中使用ANT...对于Eclipse中显示的具体错误信息和相关截图,由于本次提供内容中仅包含了标题、描述、标签,并未提供实际的错误日志或截图,因此具体的排错步骤还需参考错误输出的实际内容。

    VC安装排错SHSQL.DLL EESWT.DLL NMSQL.DLL.pdf

    VC安装排错SHSQL.DLL EESWT.DLL NMSQL.DLL.pdf SHSQL.DLL文件

    tcpip实验报告二(排错工具ping和trace).pdf

    实验报告主要围绕TCP/IP协议栈中的两个重要排错工具——ping和trace,它们在网络诊断和故障排查中扮演着关键角色。以下是对这两个工具及其相关知识点的详细解释: 1. **ping工具**: - **功能**:ping是基于ICMP...

    android webview 与 JS 相互调用

    在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在应用程序中内嵌网页内容,实现Web和原生应用的混合开发。本篇文章将详细探讨如何实现`Android WebView`与JavaScript的相互调用,以及利用这些功能...

    基于Android的无线点餐系统开题报告.doc

    基于 Android 的无线点餐系统开题报告 本科毕业设计(论文)开题报告是基于 Android 的无线点餐系统的设计和实现,旨在解决传统点餐系统的不足,以提高餐厅服务效率和客户满意度。该系统由 Android 客户端、无线...

Global site tag (gtag.js) - Google Analytics