我注意到logcat缓冲区的大小因设备而异。假设我的设备上有root权限,有没有办法在运行时更改主缓冲区的缓冲区大小?如果没有,那么假设我可以重建Android映像,如何在编译时更改它?我正在寻求扩大它以用于诊断目的。
答案 0 :(得分:12)
“开发者选项”中的“记录器缓冲区大小选项”
它允许将大小更改为64k到16M之间的几个值。
Arrays.asList( myService.getCall1(), myService.getCall2()).parallelStream().map(call->call.request());
然后立即显示更新限制。
在5.1.1上测试过,this answer声称它是最近添加的。
答案 1 :(得分:8)
设置日志环缓冲区的大小
adb logcat -G <size>
附加K或M以表示千字节或兆字节
示例:adb logcat -G 512K
答案 2 :(得分:7)
根据新闻组 Android开发者, logcat buffer size :
设备上的日志缓冲区为64 KB。时间戳,进程ID, 和日志级别以紧凑的格式存储,因此您可能实际获得
logcat -d -v <mode>
中超过64 KB的格式化数据。
答案 3 :(得分:3)
不,按照here,设备上的日志缓冲区似乎是64 KB。时间戳,进程ID和日志级别以紧凑格式存储,因此您实际上可以从logcat -d -v <mode>
中获得超过64 KB的格式化数据。
另请参阅Stack Overflow问题 What is the size limit for Logcat? 。
无论如何,要将日志保存到其他地方,您需要 Reading and Writing Logs 。那也许可以帮到你。
答案 4 :(得分:3)
缓冲区大小由内核决定,可在* / drivers / staging / android / logger.c中找到。
使用哪些缓冲区并且Android版本的大小已更改。 Android 3.0(Honeycomb)和更新版本也有一个系统缓冲区,所有四个都是256 KB。你必须重新编译内核才能改变它。
答案 5 :(得分:3)
id
adb logcat -g
adb logcat -G 16M # 16M can be replace by (128K ~ 16M)
答案 6 :(得分:0)
您可以在属性文件android-studio \ bin \ idea.properties中增加idea.cycle.buffer.size = 1024的值。这对我有用。
答案 7 :(得分:0)
要通过adb将特定Android设备的logcat缓冲区设置为16Mb,我使用了:
adb -s 2615a1d4e3174a6e logcat -G 16M
但你可以使用:
adb logcat -G 16M
或者使用以下内容设置之前的缓冲区大小:
adb logcat -G 256K