2012-05-17 2 views
4

Debug.startMethodTracing() по умолчанию использует размер буфера 8 МБ. У меня есть несколько вопросов об этом буфере.Does startMethodTracing() возвращает ошибку, если буфер заполняется?

  1. Является ли ошибка, возникающая при заполнении буфера вместимости или просто прекращается ведение журнала?
  2. Буфер остается фиксированным 8 МБ независимо от того, сколько или мало данных записано на него?
  3. Если я вручную укажу параметр bufferSize, какие устройства? Б? MB?
  4. Я пытался увеличить размер моего буфера за 20 МБ или около того, и приложение выходит. Мне нужно записать около 20 вычислений в секундах в реальном времени. Есть ли способ регистрировать больше данных, чем 20 МБ или около того? Я предполагаю, что он сначала хранится в памяти, иначе не было бы проблем с хранением его на SD-карте.

ответ

6

Я провел несколько тестов и обнаружил:

  1. Если буфер заполнен до отказа, отображается следующая «информация» уровень LogCat сообщение: TRACE STOPPED (NOTE: overflowed buffer): writing X records

  2. Буфер между 0 и 8 МБ в зависимости от того, сколько данных записано.

  3. Параметр bufferSize указан в байтах.

  4. Чтобы увеличить количество эмулируемого устройства, откройте диспетчер AVD и отредактируйте свое виртуальное устройство. Нажмите на новую кнопку оборудования и выберите Размер устройства. На моей машине наибольший я мог ввести 1GB (значение 1000).

Смежные вопросы