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之前完成