Android 中 android.view.WindowLeaked的解决办法
Android 中 android.view.WindowLeaked的解决办法
按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢?
产生原因:
我们知道Android的每一个Activity都有个WindowManager窗体管理器,同样,构建在某个Activity之上的对话框、PopupWindow也有相应的WindowManager窗体管理器。因为对话框、PopupWindown不能脱离Activity而单独存在着,所以当某个Dialog或者某个PopupWindow正在显示的时候我们去finish()了承载该Dialog(或PopupWindow)的Activity时,就会抛Window Leaked异常了,因为这个Dialog(或PopupWindow)的WindowManager已经没有谁可以附属了,所以它的窗体管理器已经泄漏了。
解决方法:
关闭(finish)某个Activity前,要确保附属在上面的Dialog或PopupWindow已经关闭(dismiss)了。
比如:
@Override
protected void onDestroy() {
super.onDestroy();
if (mDialog != null) {
mDialog.dismiss();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
android 自定义ScrollView实现背景图片伸缩的实现代码及思路
本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~,首先还是按照通例给大家看下示例.2013-05-05
Android应用开发中Fragment的静态加载与动态加载实例
这篇文章主要介绍了Android应用开发中Fragment的静态加载与动态加载实例,例子中包括动态的添加更新以及删除Fragment等操作,很有借鉴意义,需要的朋友可以参考下2016-02-02
android ContentResolver获取手机电话号码和短信内容
这篇文章主要为大家详细介绍了android ContentResolver获取手机电话号码、短信内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07
Android中如何指定SnackBar在屏幕的位置及小问题解决
这篇文章主要给大家介绍了关于Android中如何指定SnackBar在屏幕的位置,以及一个小问题解决的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2018-03-03
Android App端与PHP Web端的简单数据交互实现示例
本篇文章主要介绍了Android App端与PHP Web端的简单数据交互实现示例,详细的介绍了交互的代码,非常具有实用价值,有兴趣的可以了解一下2017-10-10


最新评论