Java WindowManager:MainActivity泄漏了window com.android.internal.policy.impl.PhoneWindow$DecorView@40731aa0那是原创的
这个警告是什么意思?我开发了一个android应用程序,我在logcat中看到了这个警告。此警告不会导致关闭应用程序。一切运行都没有任何问题或中断,但它会导致一些在我的应用程序中看不到的问题吗Java WindowManager:MainActivity泄漏了window com.android.internal.policy.impl.PhoneWindow$DecorView@40731aa0那是原创的,java,android,Java,Android,这个警告是什么意思?我开发了一个android应用程序,我在logcat中看到了这个警告。此警告不会导致关闭应用程序。一切运行都没有任何问题或中断,但它会导致一些在我的应用程序中看不到的问题吗 Continue logcat: at android.view.ViewRoot.<init>(ViewRoot.java:261) atandroid.view.WindowManagerImpl.addView(WindowManag
Continue logcat: at android.view.ViewRoot.<init>(ViewRoot.java:261)
atandroid.view.WindowManagerImpl.addView(WindowManagerImpl.java:170)....
继续logcat:at-android.view.ViewRoot.(ViewRoot.java:261)
atandroid.view.WindowManagerImpl.addView(WindowManagerImpl.java:170)。。。。
此异常的原因是,在活动中调用finish()
,或者在显示对话框时,在活动中引发其他异常,从而破坏了您的活动
解决方案是在退出活动之前,在视图中创建的对话框上调用dislose()
,例如在onPause()
中。在退出活动之前,应关闭所有窗口和对话框。如果不关闭对话框,则会出现异常
如下
@Override
protected void onStop() {
super.onStop();
if (dialog!=null) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}
谢谢,这很有效。我在代码中的错误位置使用了disclose()。在离开活动之前,我将重新思考并重新组织关闭所有窗口和对话框的代码。