为什么我在 Android 12 模拟器上运行时会在日志中看到 EGL_emulation app_time_stats?

问题描述 投票:0回答:8

在运行 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 flutter android-emulator logcat android-12
8个回答
42
投票
  • 在运行控制台窗口中右键单击
    D/EGL_emulation ...
  • 点击“像这样折线”
  • 编辑刚刚添加的过滤器只包含
    D/EGL_emulation
    .
  • 现在所有这些行将从 RUN 控制台窗口中删除

17
投票

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

您可以通过单击 logcat 工具栏最右侧的下拉菜单并选择 Edit Filter Configuration 来打开 logcat 过滤器配置。你必须设置两个正则表达式:

  • ^(?!(EGL_emulation))
    Log Tag字段中过滤所有带有“EGL_emulation”标签的消息。

  • ^(?!(\?))
    Package Name 字段中过滤所有来自没有调试信息的应用程序的消息。这不如 Show only selected application 过滤器,但是到目前为止最接近类似行为的东西

这里也是我配置的截图,以防文字不清楚:

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


14
投票

只要点击这一行就会被过滤


10
投票

这些是来自 Android 模拟器的消息,在某些情况下可能会有帮助。我建议只过滤掉调试消息,而不是警告或错误消息,因为它们可能有用。

前缀:

  • D/
    - 调试
  • W/
    - 警告
  • E/
    - 错误

对于 Android Studio Logcat 日志

  • 在 logcat 中使用 Torben 的答案 中推荐的方法,但修改为
    ^(?!(D/EGL_emulation))
    ,这样警告和错误仍然会显示。

对于 VSCode 调试控制台日志

  • 只需使用过滤器排除字符串作为
    !D/EGL_emulation
    .

8
投票

在 Android Studio Electric Eel 的过滤行中添加

-tag:EGL_emulation
,如下所示:

filter line


6
投票

在 VSCode 中,打开调试控制台选项卡,转到过滤器(右下角)并设置以下内容:

!D/EGL_emulation


0
投票

我很难理解如何在 Electric Eel 中使用新的 LogCat 和过滤器,下面是我如何摆脱 EGL_Emulation 行:

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

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

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

这是它在 AndroidStudio 中的样子


-1
投票

这显示了屏幕重建的次数。

© www.soinside.com 2019 - 2024. All rights reserved.