提问人:Rhystic 提问时间:2/3/2014 最后编辑:PhantômaxxRhystic 更新时间:1/27/2020 访问量:6801
Android“无法记录到二进制事件日志:溢出”
Android "couldn't log to binary event log: overflow"
问:
我有一个 android 应用程序,在我将设备更新到 android 4.4 (kitkat) 之前,它一直运行没有问题。
现在我开始收到这个错误,程序的某些部分在日志cat_中因此而中断
Android“无法记录到二进制事件日志:溢出”
有谁知道发生了什么?
答:
0赞
Tarz
8/13/2014
#1
我不知道你是否知道这一点,但 4.4 有一些问题。 为了让它正常工作,您必须将项目的目标 SDK 更改为 4.4 KitKat,或者如果您尚未安装该版本,请进入 android 管理器并获取相应的文件。 即便如此,您的应用程序也可能无法运行,如果无法运行,请将您的设备降级到 android 4.3 或您的应用程序运行的任何版本。 希望这有帮助!
0赞
Fabio Espinosa
3/24/2017
#2
这可能有帮助,也可能没有帮助,但我遇到了同样的问题。我使用的是 Butterknife,但没有在@OnClick上声明 id。设置后,它工作并完美记录。
0赞
Franklin
12/25/2019
#3
线索:
在 4.4.4 R1 中
/frameworks/native/services/surfaceflinger/EventLog/EventLog.cpp
58void EventLog::TagBuffer::log() {
59 if (mOverflow) {
60 ALOGW("couldn't log to binary event log: overflow.");
...
67}
这应该是问题所在
mOverflow = ture 的情况: 例如:
116void EventLog::TagBuffer::writeString8(const String8& value) {
...
118 const int32_t stringLen = value.length();
119 const size_t needed = 1 + sizeof(int32_t) + stringLen;
120 if (mPos + needed > STORAGE_MAX_SIZE) {
121 mOverflow = true;
122 return;
...
128}
STORAGE_MAX_SIZE = 128 标签的文本>字符[128]
我认为这是由于旧设备的硬件资源短缺
新系统通常需要更多的内存空间
也许是系统ROM的问题
或尝试减少 TAG 的长度。 或者 mabye 不是你 APP 的 ErrorLog
评论