码迷,mamicode.com
首页 > 移动开发 > 详细

android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window com.android.

时间:2015-08-28 13:36:13      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:android

android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41331978 V.E..... R.....I. 0,0-480,226} that was originally added here

在通过dialog上的按钮跳转到另外一个activity时要关闭dialog(dialog.dismiss());


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)了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window com.android.

标签:android

原文地址:http://blog.csdn.net/niuba123456/article/details/48047797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!