错误:E/WindowManager(21192): android.view.WindowLeaked: Activity
com.kidswatch.ui.StartAppActionActivity has leaked window
com.android.internal.policy.impl.PhoneWindow$DecorView{4291ca08 V.ED....
R....... 0,0-1026,304} that was originally added here
该错误是由于在Activity中创建并显示了Alertdialog,但Activity被提前结束,导致Alertdialog所引用的context为空,
可以在执行退出
关于AlertDialog.Builder对话框没有类似finish()或者dismiss()这样的方法。
但是它的父类AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的时候会得到一个AlertDialog对象,
我们就可以用dismiss方法将该Builder关闭。
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- AlertDialog dialog = builder.show();
- dialog.dismiss();
本文介绍了如何解决在Android开发过程中遇到的WindowLeaked错误。当Activity中创建并显示了AlertDialog,但Activity提前结束且未正确关闭对话框时,就会出现这一错误。文章详细解释了错误的原因,并提供了一个简单的解决方案:通过获取AlertDialog实例并调用dismiss方法来避免内存泄漏。
994

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



