【发布时间】:2014-07-11 05:51:27
【问题描述】:
在 Moto G 上开发我的应用程序时,我经常遇到数以万计的以下消息淹没日志。
E/MM_OSAL ( 275): isSamePayload Sync byte(0x47) not found!! m_nCurrOffset=0
E/MM_OSAL ( 275): isSamePayload Sync byte(0x47) not found!! m_nCurrOffset=0
... repeated 20000 times in a span of 12 secs
D/WifiStateMachine(1004): processMsg: L2ConnectedState
D/WifiStateMachine(1004): handleMessage: X
D/WifiStateMachine(1004): handleMessage: E msg.what=131155
... repeated 15000+ times all interspersed together
现在,我当然设置了 Logcat 过滤器,但所有这些消息都填满了 logcat 缓冲区,我自己的调试消息不断消失。
观察
- 无论使用 Android Studio 还是 Eclipse,都会发生这种情况。这意味着问题出在 Logcat 上,而不是我想的 IDE 如何处理它。
- 根据this question,我应该增加默认 logcat 缓冲区大小或将其设置为无限 (0),但这仍然无法解决,因为这些垃圾邮件不断堆积。
- 如果我重新启动手机,它只会在垃圾邮件赶上之前清除 logcat 几分钟。
如何阻止这些不需要的消息溢出 Logcat 缓冲区?
更新:好的,我想我找到了一些线索。 logcat 缓冲区没有被清除
$ ./adb logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 5120b, max payload is 4076b
$ ./adb logcat -c
$ ./adb logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 5120b, max payload is 4076b
如您所见,main 缓冲区没有被清除 - 也许这就是我的应用程序的消息没有进入 logcat 的原因。
【问题讨论】:
-
我遇到了同样的问题,从 2 天前开始。我认为应该有一种方法可以阻止应用程序生成消息。但是 logcat 并没有说明哪个应用程序正在生成消息..