项目中使用dialog显示提示信息,但在logcat中看到有这样的error的信息:android.view.WindowLeaked。检查看到有如下代码:
.......
AlertDialog dialog = new AlertDialog.Builder(this);
.......
dialog.show();
finish();
调试发现android 上的dialog.show不会阻塞调用线程(通常为UI线程),导致dialog尚未dismiss或者cancel之前,dialog所依赖的context被关闭,因此出现windowleaked的错误信息。但是此问题并不影响程序的运行。
解决办法之一是在dialog的OnClickListener事件中先dismiss后再finish activity