android Window Leaked异常的解决方法

在两种情况下,我们会遇到这种问题:

1.当前activity关闭时,还有ProgressDialog在show()

这种情况只需要关闭即可

if (progressDialog != null && progressDialog.isShowing())
{
     progressDialog.dismiss();
}

2.我们通过windowmanager.addView()添加的view还在显示,

解决办法:

调用windowManager.removeViewImmediate()移除View即可,调用removeView()方法不一定起作用。

 

 

补充:removeViewImmediate()和removeView()区别:

removeViewImmediate()执行后,view立刻调用onDetachForWindow()方法从window中分离

removeView异步的  所以不保证分离在页面finish之前完成

posted @ 2016-06-17 17:22  x-bing  阅读(374)  评论(0编辑  收藏  举报