如何更改Android中logcat缓冲区的大小?

我注意到logcat缓冲区的大小在不同的设备上有所不同。 假设我的设备具有root权限,是否有办法在运行时更改主缓冲区的缓冲区大小? 如果没有,那么假设我可以重buildAndroid的图像,我怎么在编译时更改它? 我正在扩大它的诊断目的。

Solutions Collecting From Web of "如何更改Android中logcat缓冲区的大小?"

根据新闻组Android Developerslogcat缓冲区大小

设备上的日志缓冲区是64 KB。 时间戳,进程ID和日志级别以紧凑格式存储,所以实际上可以从logcat -d -v <mode>获得超过64 KB的格式化数据。

“开发人员选项”中的“logging器缓冲区大小选项”

它允许将大小更改为64k和16M之间的几个值。

adb logcat -g会立即显示更新限制。

testing5.1.1, 这个答案声称这是最近的一个增加。

不,根据这里似乎设备上的日志缓冲区是64 KB。 时间戳,进程ID和日志级别以紧凑格式存储,所以实际上可以从logcat -d -v <mode>获得超过64 KB的格式化数据。

另请参阅堆栈溢出问题Logcat的大小限制是什么?

无论如何,为了在其他地方保存日志,你有读写日志 。 这可能可以帮助你。

缓冲区的大小由* / drivers / staging / android / logger.c中的内核决定。

Android版本使用哪些缓冲区,大小已更改。 Android 3.0 (Honeycomb)和更新的也有一个系统缓冲区,所有四个都是256 KB。 你必须重新编译内核来改变它。

设置日志环形缓冲区的大小。 可以在末尾添加K或M来表示千字节或兆字节

 adb logcat -G <size> 

例如: adb logcat -G 512K

你可以在属性文件android-studio \ bin \ idea.properties中增加idea.cycle.buffer.size = 1024的值。 这对我有效。