android异常——异步任务导致的窗口句柄泄漏问题
来源:互联网 发布:淘宝水印制作教程 编辑:程序博客网 时间:2024/06/14 09:08
转自http://blog.csdn.net/lonelyroamer/article/details/7536962
在第一界面的Activity中,为了避免程序假死带来的糟糕的用户体验,采用异步任务AsyncTask来访问网络,与服务器进行交互,并用ProgressDialog控件来告知用户当前的程序进度。
原因:存在窗口句柄的泄漏,即未能及时的销毁某个PhoneWindow.
为什么会出现这样的情况,因为,在异步任务里面已经发生了严重的错误,而导致Activity的强制关闭。Activity强制关闭了,可是ProgressDialog并没有dismiss()掉,所以出现了
窗口句柄的泄漏。 而且,更严重的是,这个异常会覆盖我们在AsyncTask里面发生的真正异常,这往往会误导我们,把过多的精力放在查找所谓的内存泄漏的上面,而不是查找AsyncTask中出现的错误。
本解决方法并不能真正的解决问题,但是在一定程度上可以将真正导致错误的异常信息显露出来。即重写Activity的onDestory()方法,在该方法中调用dismiss()来解除对ProgressDialog的引用。
0 0
- android异常——异步任务导致的窗口句柄泄漏问题
- Android异常一、异步任务导致的窗口句柄泄漏问题(内存泄漏)
- Android异常一、异步任务导致的窗口句柄泄漏问题
- android 异步弹出窗口 导致程序崩溃的问题
- 再谈android内存泄漏—常见的八种导致 APP 内存泄漏的问题
- 常见的导致Android内存泄漏问题
- 卸载ACE动态库导致句柄泄漏问题
- system调用导致子进程socket句柄泄漏问题分析
- android异常:dialog窗口句柄泄露
- 关于Android VideoView导致的内存泄漏的问题
- 关于Android VideoView导致的内存泄漏的问题
- zookeeper的句柄fd泄漏问题
- android异常问题笔记----导入依赖库导致的异常
- 异步加载导致的异常数据
- qt widget 窗口句柄的问题
- Android handler导致的内存泄漏
- Android Handler导致内存泄漏的解决方案
- Android AsyncTask导致的内存泄漏
- Java Set集合的详解
- HTML 5 <canvas> 标签 用法
- 【科普·给学弟看的算法】基本的搜索算法和基础运用(2):广(宽)度优先搜索算法(BFS)
- 【Basic computer】-----Bean Definition Inheritance
- FFmpeg中的滤镜(七):视频滤镜 -- bbox
- android异常——异步任务导致的窗口句柄泄漏问题
- httpclient的get请求出错原因
- java学习之路 之 面向对象编程-面向对象特征之一(封装和隐藏)级类的成员之三(构造器、构造方法)
- cocoaPods安装遇到的问题以及解决方案
- SBT配置
- 树形ListView
- 【职坐标】java IO流前传——File文件类
- 开源GIS_GeoServer前瞻
- 长整型和整形数据运算的不同