Android 中 android.view.WindowLeaked的解决办法
程序员文章站
2023-11-21 08:15:34
android 中 android.view.windowleaked的解决办法
按字面了解,window leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏...
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中默认系统的声音/大小修改和配置详解
-
Android中自定义View的实现方式总结大全
-
Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)
-
如何在eclipse中添加android ADT ADT插件的安装图文教程
-
Android setButtonDrawable()的兼容问题解决办法
-
Android 中 android.view.WindowLeaked的解决办法
-
Android 在viewPager中双指缩放图片双击缩放图片单指拖拽图片的实现思路
-
Android中Viewpager禁止滑动的实现
-
Android笔记之:在ScrollView中嵌套ListView的方法
-
基于Android中手势交互的实现方法