WindowManager:MainActivity泄露了原始窗口com.android.internal.policy.impl.PhoneWindow$DecorView@40731aa0

这个警告是什么意思? 我开发了一个Android应用程序,我在logcat中看到了这个警告。 此警告不会导致关闭应用程序。 一切都运行没有任何问题或中断,但它可能导致一些在我的应用程序中看不到的问题?

Continue logcat: at android.view.ViewRoot.(ViewRoot.java:261) atandroid.view.WindowManagerImpl.addView(WindowManagerImpl.java:170).... 

这种exception的原因是,您的Activity被调用Activity finish()或者在您的Dialog显示时在Activity抛出了一些其他Exception

解决方案是在退出Activity之前在视图中创建的Dialog上调用dismiss() ,例如在onPause() 。 在离开Activity之前,应该关闭所有窗口和对话框。如果你没有关闭对话框,它会给你那个例外。

如下

 @Override protected void onStop() { super.onStop(); if (dialog!=null) { if (dialog.isShowing()) { dialog.dismiss(); } } }