当在 Android 12 模拟器上运行时,为什么日志中会出现 EGL_emulation app_time_stats?

86

在运行 Android 12 的模拟器上测试Flutter应用时,我发现日志中每隔大约一秒就会出现以下类似的行:

D/EGL_emulation(32175): app_time_stats: avg=312.93ms min=133.69ms max=608.57ms count=4
他们是什么意思,我该如何关闭它们?我在Android 11模拟器上从未见过它们,所以我猜这与Android 12有关?

他们是什么意思,我该如何关闭它们?我在Android 11模拟器上从未见过它们,所以我猜这与Android 12有关?


4
有解决方法吗?我在我的新Apple Silicon Mac上尝试使用Android 12,也遇到了这个问题。 - imperial-lord
你解决了吗?自从更新后,我在我的“RUN”控制台窗口中看到了这个问题,所以其他建议编辑“LogCat”窗口的答案不太适用。 - Jammo
有人知道这些日志的含义吗? - undefined
9个回答

63
  • 在运行控制台窗口中右键单击 D/EGL_emulation ...
  • 点击“折叠此类行”
  • 编辑过滤器,使其仅包含D/EGL_emulation
  • 现在,所有这些行都将从运行控制台窗口中移除。

运行窗口的唯一有效答案。 - Tertium
1
它不起作用。 - ziqq
这些折叠表达式现在保存在哪里?如果我想清除它们,该怎么做? - Martin Berger
2023不起作用。 - apripuppey
这不是一个真正的解决方案,因为它依赖于 IDE 的某些功能,有时可能不存在,例如使用 Neovim 时。 - Martin Braun

27

只需点击此行,即可进行筛选

在此输入图片描述


20

所有这些EGL_emulation的消息确实非常令人讨厌。到目前为止,我的解决方案是创建一个自定义的logcat过滤器。

您可以通过单击logcat工具栏最右侧的下拉菜单并选择编辑过滤器配置来打开logcat过滤器配置。您需要设置两个正则表达式:

  • ^(?!(EGL_emulation))日志标记字段中过滤所有带有“EGL_emulation”标记的消息。

  • ^(?!(\?))包名称字段中过滤所有没有调试信息的应用程序的消息。这不如仅显示选定的应用程序过滤器好,但到目前为止,这是最接近相似行为的东西

以下是我的配置截图,以防文字不清晰:

Logcat filter

不过,我真的希望这个问题能够尽快在上游得到解决 ;)


这个答案是可行的,但事实上它是一个你必须使用的过滤器,而不是“仅显示选定的应用程序”,现在你必须自己管理它 - 这并不是很好。使用@Jammo的答案仍然会在每条其他日志消息的末尾得到“XX内部行”的烦恼 - 但仍然更好。 - Guss
谢谢,这也让我疯狂了。Android Studio和XCode都感觉像是1999年的遗物,而不是现代终端+vscode工作流程。我已经努力查找但找不到下拉菜单。在顶部logcat选项卡旁边有一个,但它只有显示工具栏、视图模式等选项。在它旁边有一个减号按钮,可以最小化工具栏。在下面,我可以将我的快速过滤器添加到收藏夹中,但仍然无法进行配置... - Kevin

15
这些是来自Android模拟器的消息,有时候会很有用。我建议只过滤掉调试信息,不要过滤警告或错误信息,因为它们可能也有用。
前缀:
  • D/ - 调试(Debug)
  • W/ - 警告(Warning)
  • E/ - 错误(Error)
对于Android Studio Logcat日志:
  • 使用推荐方法Torben的答案中的方法,但修改为^(?!(D/EGL_emulation)),以便警告和错误仍将显示。
对于VSCode Debug Console日志:
  • 只需使用过滤器排除字符串!D/EGL_emulation

1
至少在Android Studio Bumblebee 2021.1.1上,似乎前缀不是标签/消息的一部分,因此我无法将它们包含在正则表达式中。 - TreyWurm
同样的,这个解决方案不起作用。 - Nino DELCEY

14
在 Android Studio Electric Eel 中,需要在筛选行中添加 -tag:EGL_emulation ,如下图所示:

filter line


10

在 VSCode 中,打开调试控制台选项卡,进入过滤器(右下角),设置以下内容:!D/EGL_emulation

enter image description here


3
在新版的Android Studio[Giraffe]中,现在您可以右键单击该行并选择“忽略标记”,这将使其从logcat中隐藏。

enter image description here


0

我曾经在使用Electric Eel中遇到了困难,不知如何使用新的LogCat和过滤器,以下是我如何摆脱EGL_Emulation行:

我需要带有Crypton或(|)MainActivity | package:mine 和(&)不带有(!)egl_emulation的标签:

tag:Crypton | tag:MainActivity | package:mine & !EGL_emulation

这很好用,展示了如何使用多个标签以及如何使用逻辑条件。

以下是在AndroidStudio中的截图 AndroidStudio logcat filter


-1

这显示了你的屏幕重建了多少次。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接