Подтвердить что ты не робот

Android.os.MessageQueue.next, занимая множество эксклюзивных времен - это обычное поведение?

Недавно я запустил сеанс трассировки метода в процессе открытия FragmentActivity, который занимает около 750-1000 мс для открытия из предыдущего действия и имеет ListView, в который он загружает свою начальную партию данных в разы, которые варьируются от низкий ( "низкий" ), как 1500 мс до 5000 мс. После сортировки по "эксклюзивному времени" я заметил, что метод с именем android.os.MessageQueue.next занимает множество времени.

Просмотр всего основного потока после сеанса трассировки метода. Уведомление android.os.MessageQueue.next первое в списке:

A view of all the threads after a method tracing session

Теперь мой вопрос таков: эта стандартная операционная процедура в приложении для Android, т.е. android.os.MessageQueue.next относится к основной очереди, ожидающей другой операции? Или, альтернативно, это может означать временный тупик?

Должен ли я волноваться?

4b9b3361

Ответ 1

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

** Сообщение next() {//Вернемся сюда, если цикл сообщения уже завершен и удален.//Это может произойти, если приложение пытается перезапустить петлитель после выхода //, который не поддерживается. **

Исходный код