项目中使用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

本文探讨了在Android项目中使用Dialog显示提示信息时遇到的WindowLeaked错误,并提供了详细的解决方案。该错误通常发生在对话框未关闭的情况下Activity被销毁,文章介绍了如何通过调整Dialog的处理逻辑来避免这一问题。
1696

被折叠的 条评论
为什么被折叠?



