我注意到logcat缓冲区的大小在不同的设备上会有所不同。假设我在我的设备上拥有root权限,那么是否有一种方法可以在运行时更改主缓冲区的缓冲区大小?如果不行,那么假设我可以重新构建Android映像,如何在编译时更改它?我想要将其扩大以进行诊断目的。
我注意到logcat缓冲区的大小在不同的设备上会有所不同。假设我在我的设备上拥有root权限,那么是否有一种方法可以在运行时更改主缓冲区的缓冲区大小?如果不行,那么假设我可以重新构建Android映像,如何在编译时更改它?我想要将其扩大以进行诊断目的。
adb logcat -g
adb logcat -G 16M # 16M can be replace by (128K ~ 16M)
adb logcat -b system -G 8M # system can be replaced with 'main' or 'crash'
adb logcat -G
更改缓冲区大小时,它在设备重启后不会保存更改,并且开发人员选项屏幕仍然显示旧设置。有任何想法为什么? - Holistic Developerpersist.logd.size
。 - Holistic Developer"开发者选项"中的"日志缓冲区大小选项"
它允许将大小更改为64k到16M之间的几个值。
adb logcat -g
然后立即显示更新限制。
在5.1.1上进行了测试,并且这个答案声称它是最近添加的。
设置日志环形缓冲区的大小
adb logcat -G <size>
将 K 或 M 添加在数字后面以表示千字节或兆字节
例如:adb logcat -G 512K
logcat -d -v <mode>
中获取超过64KB的格式化数据。adb logcat -g
来检查缓冲区信息时,得到了256Kb。 - hackjutsu缓冲区大小由内核确定,可以在*/drivers/staging/android/logger.c中找到。
使用的缓冲区及其大小随着Android版本的变化而改变。 Android 3.0(蜂巢)及更高版本还具有系统缓冲区,所有四个缓冲区大小为256 KB。更改缓冲区大小需要重新编译内核。
logcat -d -v <mode>
中获得更多于64KB的格式化数据。你可以在属性文件android-studio\bin\idea.properties中增加idea.cycle.buffer.size=1024的值。这对我有用。
通过adb为特定的Android设备设置logcat缓冲区为16Mb,我使用了以下命令:
adb -s 2615a1d4e3174a6e logcat -G 16M
但你也可以只使用以下命令:
adb logcat -G 16M
或者使用以下命令来设置先前的缓冲区大小:
adb logcat -G 256K