今天遇到个问题,就是出现android.view.WindowLeaked这个异常,这个异常并没有使程序崩溃,但长此下去很难说。
这个异常是指窗体泄露,解决方法就是在Activity跳转之前把附着于这个Activity上的dialog和popupwindow给释放掉。
这里用到Activity的生命周期就可以了,重写onDestory()方法,在里面释放,示例如下
@Override
protected void onDestroy() {
if(m_popup!=null&&m_popup.isShowing()){
m_popup.dismiss();
m_popup = null;
}
super.onDestroy();
}
其中m_popup是我自己定义的PopupWindow。问题解决~
最后感叹一下,生命周期什么的,都是精髓啊,要好好运用