Android Logcat очень странное поведение при получении пустой строки

Поэтому я наткнулся на что-то странное, что заставило меня потерять время. Я пытался напечатать содержимое ArrayList, содержащего строковые элементы, иногда элемент может содержать пустую строку, что вполне нормально и абсолютно соответствует моим намерениям. Итак, у меня есть что-то вроде этого:

List<String> l = new ArrayList<String>();

//adding strings in l, sometimes it's an empty string

for (int i=0; i < l.size(); i++) {
    Log.w("element in l : ", l.get(i));
}

Итак, здесь, когда цикл попадет в пустую строку, logcat просто НЕ собирается печатать ее НО (а в этом корень моей путаницы), если у вас есть сообщение, следующее за тем, которое не удалось отобразить, внезапно произошел сбой сообщение будет отображаться так, как если бы оно содержало новое сообщение logcat. Например, если вы попытаетесь записать пустую строку, как это

Log.w(TAG,  <empty string here>);

Сначала Logcat ничего не будет выводить, затем, когда у него будет НОВОЕ сообщение для отображения, это то, что он печатает (в этом случае новое сообщение является некоторым предупреждением о AudioTrack):

08-21 17:06:02.265  13047-13047/company.myapp W/TAG﹕ [ 08-21 17:06:05.411   766:  937 W/AudioTrack ]
    AUDIO_OUTPUT_FLAG_FAST denied by client

Мне интересно знать, как это происходит, может быть, это поможет кому-то другому не запутаться, как я. Я полагаю, что попытка записать пустую строку запускает какой-то буфер, который находится там, пока не получит что-то напечатать, это ошибка?

Ответы на вопрос(1)

Ваш ответ на вопрос