Flutter中TextField引发D/EGL_emulation日志无限输出的解决办法
移除Flutter中TextField导致的D/EGL_emulation重复日志输出
以下是几种可行的解决方法:
方法一:在Android Studio Logcat中直接过滤
- 打开Android Studio的Logcat面板,点击顶部的「Edit Filter Configuration」按钮
- 在弹出的配置窗口中,找到「Log Tag」输入框,填写
!EGL_emulation(感叹号表示排除该标签的日志) - 保存配置后,Logcat将不再显示该重复日志
方法二:通过Flutter启动命令过滤日志
启动项目时执行以下命令,直接过滤掉EGL_emulation标签的日志:
flutter run --android-logs-filter "*:S EGL_emulation:S"
参数说明:*:S 将所有日志设为静默级别,EGL_emulation:S 单独指定该标签的日志为静默,从而阻止其输出。
方法三:调整Android模拟器设置
该日志来自模拟器的EGL性能统计,可通过关闭相关选项解决:
- 点击模拟器窗口右侧的三个点图标,打开模拟器设置
- 进入「Settings」->「Advanced」选项卡
- 找到并关闭「Enable OpenGL tracing」或类似性能追踪选项
- 重启模拟器后,重复日志通常会停止输出
方法四:修改Android项目代码过滤日志
在Android项目的MainActivity.kt(或Java版MainActivity.java)中添加日志过滤逻辑:
import android.os.Bundle import android.util.LogFilter import io.flutter.embedding.android.FlutterActivity class MainActivity : FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // 添加日志过滤器,排除EGL_emulation标签 val filter = LogFilter().apply { setTagFilter("!EGL_emulation") } android.util.Log.addLogFilter(filter) } }
修改后重新运行项目,即可过滤掉目标日志。
内容的提问来源于stack exchange,提问作者Basanta Khatiwada
相关产品推荐
相关产品推荐

