Я заметил, что размер буфера logcat зависит от разных устройств. Предполагая, что у меня есть права root на моем устройстве, есть ли способ изменить размер буфера основного буфера во время выполнения? Если нет, то, предположив, что я могу восстановить образ Android, как мне его изменить во время компиляции? Я хочу увеличить его для диагностических целей.
Как изменить размер буфера logcat в Android?
Ответ 1
Согласно новостной группе Android Developers, размер буфера logcat:
Буферы журнала на устройстве составляют 64 КБ. Временная метка, идентификатор процесса, и уровень журнала сохраняются в компактном формате, поэтому вы можете фактически получить более чем 64 КБ отформатированных данных из
logcat -d -v <mode>
.
Ответ 2
"Размер буфера регистратора" в "Опции разработчика"
Позволяет изменить размер на несколько значений между 64k и 16M.
adb logcat -g
, а затем немедленно отображает ограничение на обновление.
Протестировано в 5.1.1 и этот ответ утверждает, что это недавнее дополнение.
Ответ 3
Задайте размер буфера журнала журналов
adb logcat -G <size>
Добавьте K или M, чтобы указать килобайты или мегабайты
Пример: adb logcat -G 512K
Ответ 4
Посмотреть текущий размер буфера
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'
Ответ 5
Нет, в соответствии с здесь кажется, что буферы журнала на устройстве - 64 KB. Временная метка, идентификатор процесса и уровень журнала хранятся в компактном формате, поэтому на самом деле вы можете получить более 64 КБ отформатированных данных из logcat -d -v <mode>
.
См. также Stack Вопрос о переполнении Каков предел размера для Logcat?.
В любом случае, для сохранения журналов в другом месте вы Чтение и запись журналов. Возможно, это может вам помочь.
Ответ 6
Размер буфера определяется ядром, найденным в */drivers/staging/android/logger.c.
Какие буферы используются и размер изменился в версиях Android. Android 3.0 (Honeycomb) и новее также имеют системный буфер, а все четыре - 256 КБ. Вы должны перекомпилировать ядро, чтобы изменить его.
Ответ 7
Вы можете увеличить значение idea.cycle.buffer.size = 1024 в файле свойств android-studio\bin\idea.properties. Это сработало для меня.
Ответ 8
Чтобы установить logcat-буфер на 16 Мб для определенного устройства Android через adb, я использовал:
adb -s 2615a1d4e3174a6e logcat -G 16M
Но вы можете использовать только:
adb logcat -G 16M
Или установите предыдущий размер буфера с помощью:
adb logcat -G 256K