Android Studio Logcat出现大量Flogger及FrameTime相关日志如何解决
问题原因
1. Too many Flogger logs received before configuration. Dropping old logs. 告警
该告警来自Google开源的Flogger日志框架,触发原因是应用启动过程中,大量日志在Flogger初始化配置完成前就被提交,Flogger内部缓冲区被占满后自动丢弃旧日志。通常出现在Flogger初始化时机过晚,或是应用启动阶段日志输出量过大的场景。
2. I/Counters: exceeded sample count in FrameTime 信息日志
该日志由Android系统层面的性能打点模块输出,触发原因是短时间内应用产生的帧耗时采样点超过了系统预设的计数器阈值,本质是应用出现了集中性的掉帧、卡顿问题。通常是UI线程执行了耗时操作、界面频繁重绘、多动画叠加执行导致的。
解决方案
针对Flogger告警
- 调整Flogger初始化逻辑,将初始化操作放到
Application.attachBaseContext()中执行,早于所有业务逻辑执行的时机 - 如果你的应用没有主动集成Flogger,排查第三方依赖引入的Flogger组件,按需移除依赖或是关闭Flogger的默认输出开关
- 裁剪应用启动阶段的非必要日志打印,降低日志缓冲区压力
针对FrameTime日志
- 借助Android Studio Profiler的CPU、GPU检测工具定位UI线程的耗时任务,将网络请求、文件读写、复杂计算等逻辑迁移到子线程执行
- 优化列表类控件的刷新逻辑,避免同一帧内多次调用notify刷新,优先使用局部刷新替代全量刷新
- 检查自定义View的
onMeasure、onLayout、onDraw方法,移除其中的重复计算、临时对象创建逻辑 - 排查应用中的动画逻辑,避免无意义的循环动画、多动画叠加执行
内容的提问来源于stack exchange,提问作者Itapox
相关产品推荐
相关产品推荐

