При использовании Android Messenger между процессами MessageQueue не используется?

У меня вопрос по поводу обмена сообщениями через Messenger. похоже, обе стороны могут использовать Messenger + Handler для связи друг с другом. Однако я не считаю, что им нужно создавать MessageQueue. Означает ли это, что MessageQueue в этом случае не создается? сам мессенджер поддерживает сообщения?

# handler messenger message-queue
Источник
Codelisting
за 1 против
Лучший ответ

Вы создаете обработчики внутриActivities ,Services и другие подобные компоненты, которые расширяютContext . Обработчики используютContext.getMainLooper() и этоLooper есть очередь сообщенийLooper.getQueue() Вы не можете создать обработчик из того, что не имеетLooper , возникнет исключительная ситуация во время выполнения.

  • 0
    Чтобы добавить к этому, основной поток уже настроен с помощью Looper и MessageQueue. Обработчики связаны с потоком, в котором они созданы - в каком бы потоке они ни были созданы, они получают связанный с ним Looper (если есть) и отправляют свои сообщения в очередь сообщений этого Looper. Если в потоке, в котором вы вызываете new Handler (), нет Looper, будет выброшено исключение.
  • 0
    Спасибо за быстрый ответ.
Codelisting
Популярные категории
На заметку программисту