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(); } } }