【问题标题】:'Leaked window error' warning on a device orientation change while Options Menu is open (API 23,24,25)选项菜单打开时设备方向更改的“泄漏窗口错误”警告 (API 23,24,25)
【发布时间】:2018-04-21 06:50:37
【问题描述】:

在“设置”(选项菜单)打开时,设备方向从纵向更改为横向(反之亦然)时,API 23、24 或 25 设备会出现以下警告消息。在这两种情况下,我的日志中都有以下错误消息:

E/WindowManager: android.view.WindowLeaked: 活动 com.example.test.myapplication.MainActivity 已泄漏窗口 android.widget.PopupWindow$PopupDecorView{6bb10b1 V.E...... ......ID 0,0-686,168} 最初添加在这里 在 android.view.ViewRootImpl.(ViewRootImpl.java:368) 在 android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299) 在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85) 在 android.widget.PopupWindow.invokePopup(PopupWindow.java:1258) 在 android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1110) 在 android.support.v7.widget.AppCompatPopupWindow.showAsDropDown(AppCompatPopupWindow.java:105) 在 android.support.v4.widget.PopupWindowCompatKitKat.showAsDropDown(PopupWindowCompatKitKat.java:30) 在 android.support.v4.widget.PopupWindowCompat$KitKatPopupWindowImpl.showAsDropDown(PopupWindowCompat.java:129) 在 android.support.v4.widget.PopupWindowCompat.showAsDropDown(PopupWindowCompat.java:206) 在 android.support.v7.widget.ListPopupWindow.show(ListPopupWindow.java:722) 在 android.support.v7.view.menu.StandardMenuPopup.tryShow(StandardMenuPopup.java:160) 在 android.support.v7.view.menu.StandardMenuPopup.show(StandardMenuPopup.java:187) 在 android.support.v7.view.menu.MenuPopupHelper.showPopup(MenuPopupHelper.java:290) 在 android.support.v7.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:175) 在
...

我在这里看到了一些关于 SO 的问题,但在我看来,每个人都只是采取了解决方法,并在主要活动中覆盖了 onStop()onBackPressed()

为了测试和调试,我使用 AS 向导创建了一个简单的项目(激活了 Navigation Drawer Activity 选项,因此已经包含了一个选项菜单)。唯一添加/更改的是:

android:configChanges="orientation|keyboardHidden" 

manifest 文件中,但我仍然收到相同的警告。

【问题讨论】:

  • stackoverflow.com/questions/2850573/… 转到此链接可能会对您有所帮助。
  • 答案是针对其中包含一些代码的项目。我认为使用向导创建的项目没有任何更改并且只需打开菜单并转动设备就不会产生错误。我想的更多是一个错误。
  • 将它添加到你的 amnifest
  • 在清单文件中添加了 android:configChanges="orientation|keyboardHidden" ,但仍然得到同样的错误

标签: android android-activity


【解决方案1】:

请试试这个。

  android:configChanges="screenSize|orientation|keyboardHidden"

【讨论】:

    【解决方案2】:

    这确实是一个错误。我报告了,它已经被谷歌修复了。可以关注here

    【讨论】:

    • 似乎没有修复它。我仍然在模拟器和真实设备的 API 23、25、27 中得到这个
    • 这很奇怪......会不会是回归?我有一段时间没有检查,但在我发布此内容时,它已为我的应用程序修复
    • 我也不知道。我在这里stackoverflow.com/questions/52419585/… 发布了我的问题。你可以再检查一遍告诉我
    • 我的仍然有效,但我在 onCreateOptionsMenu() 中返回 true
    • 我也试过了,但没有。我做了最简单的事情。创建一个具有基本活动的新项目。运行它,打开菜单并旋转。我的意思是它的所有通用代码都没有自定义。
    猜你喜欢
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2023-03-04
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多