关于android.view.WindowLeaked的解决方案
虽然是小问题一个,但也困扰了我一段时间,现在记下来,给自己做个备忘,也可以给其他人一个参考
- 1.01-08 01:49:27.874: ERROR/WindowManager(473): Activity com.photos.MainActivity has leaked window android.widget.ImageButton@43e40d10 that was originally added here
- 2.01-08 01:49:27.874: ERROR/WindowManager(473): android.view.WindowLeaked: Activity com.photos.MainActivity has leaked window android.widget.ImageButton@43e40d10 that was originally added here
- 3.01-08 01:49:27.874: ERROR/WindowManager(473): at android.view.ViewRoot.<init>(ViewRoot.java:247)
- 4.01-08 01:49:27.874: ERROR/WindowManager(473): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
- 5.01-08 01:49:27.874: ERROR/WindowManager(473): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
- 6.01-08 01:49:27.874: ERROR/WindowManager(473): at android.view.Window$LocalWindowManager.addView(Window.java:424)
- 7.01-08 01:49:27.874: ERROR/WindowManager(473): at android.widget.PopupWindow.invokePopup(PopupWindow.java:828)
- 8.01-08 01:49:27.874: ERROR/WindowManager(473): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:688)
- 9.01-08 01:49:27.874: ERROR/WindowManager(473): at com.photos.MainActivity.showCommonPopup(MainActivity.java:256)
- 10.01-08 01:49:27.874: ERROR/WindowManager(473): at com.photos.MainActivity.access$3(MainActivity.java:255)
- 11.01-08 01:49:27.874: ERROR/WindowManager(473): at com.photos.MainActivity$2.handleMessage(MainActivity.java:88)
- 12.01-08 01:49:27.874: ERROR/WindowManager(473): at android.os.Handler.dispatchMessage(Handler.java:99)
- 13.01-08 01:49:27.874: ERROR/WindowManager(473): at android.os.Looper.loop(Looper.java:123)
- 14.01-08 01:49:27.874: ERROR/WindowManager(473): at android.app.ActivityThread.main(ActivityThread.java:4627)
- 15.01-08 01:49:27.874: ERROR/WindowManager(473): at java.lang.reflect.Method.invokeNative(Native Method)
- 16.01-08 01:49:27.874: ERROR/WindowManager(473): at java.lang.reflect.Method.invoke(Method.java:521)
- 17.01-08 01:49:27.874: ERROR/WindowManager(473): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
- 18.01-08 01:49:27.874: ERROR/WindowManager(473): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
- 19.01-08 01:49:27.874: ERROR/WindowManager(473): at dalvik.system.NativeStart.main(Native Method)
按字面了解,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)了。
转载于:https://blog.51cto.com/whatandroid/1134349
关于android.view.WindowLeaked的解决方案相关推荐
- 关于android.view.WindowLeaked(窗体泄露)的解决方案
虽然是小问题一个,但也困扰了我一段时间,现在记下来,给自己做个备忘,也可以给其他人一个参考 Java代码 view plaincopy to clipboardprint? 01-08 01:49 ...
- 关于android.view.WindowLeaked异常的解决方案
虽然是小问题一个,但也困扰了我一段时间,现在记下来,给自己做个备忘,也可以给其他人一个参考. Android.view.WindowLeaked按字面了解,Window Leaked大概就是说一个窗体 ...
- android.view.WindowLeaked报错的解决方案
android.view.WindowLeaked一般会发生在Activity中Dialog的显示. android的dialog创建的时候会传入一个参数this,就是当前的activity,dial ...
- E/WindowManager: android.view.WindowLeaked: Activity com.xxx.xxx.xxx
1. 错误描述 E/WindowManager: android.view.WindowLeaked: Activity com.xxx.xxx has leaked window DecorView ...
- E/WindowManager: android.view.WindowLeaked: Activity com.xxx.xxx.xxx has leaked window com.android.i
今天运行代码,程序没有崩溃,并遇到以下错误提示: E/WindowManager: android.view.WindowLeaked:Activity com.xxx.xxx.xxx has lea ...
- android.view.WindowLeaked: Activity has leaked window com.android.internal.p
android.view.WindowLeaked: Activity has leaked window com.android.internal.policy.impl.PhoneWindow$ ...
- android.view.WindowLeaked: Activity XXX has leaked window DecorView@9801a78[XXX] that was originall
android.view.WindowLeaked: Activity XXXX has leaked window DecorView@9801a78[XXXX] that was original ...
- android.view.WindowLeaked 问题
在退出一个Activity的时候会发生闪屏现象,查看日志有这样一段错误: E/WindowManager( 909): android.view.WindowLeaked: Activity com. ...
- android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window com.android.
android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window com.android. ...
最新文章
- vue + element +tp5 个人博客后台管理小记
- CentOS-6.5安装配置Tengine
- 深蓝学院《从零开始手写VIO》作业七
- NYOJ_5739最大岛屿(河南省第八届acm程序设计大赛)
- oracle查看用户路径,oracle 查看用户的表空间,表空间路径,角色,权限
- 对No Starch Press出版的《Python Playground》一书的书评及其作者访谈录
- 华为服务器设置iBMC管理网口IP地址,开启Monitor图文教程
- php拆分excel,PHP_PHPExcel合并与拆分单元格的方法,本文实例讲述了PHPExcel合并与 - phpStudy...
- Botanical Dimensions:借助第九代智能英特尔® 酷睿™ 处理器实现独特沉浸式体验...
- 结构力学计算软件_辽宁网格修复软件价格如何
- JavaWeb网上购物系统项目源码+论文
- 质量管理五大工具、七大手法知识点总结
- 子寅:不会“怼”产品经理,干不了程序员,更干不好脱口秀
- 多项式计算的Horner 方法
- 我是如何做研发人员内部培训的
- 拼多多店铺怎么上榜单?
- miui11可用的位置模拟器_miui11支持机型汇总_miui11支持哪些机型_软吧下载
- STM32单片机-汇编指令2
- AutoFac在WinForm中的使用
- 数据与知识管理属于计算机科学研究方向中,基于知识的应用生命周期管理研究-计算机科学与技术专业论文.docx...