Для чего нужен Handler

«Для чего нужен Handler» — вопрос из категории Android компоненты, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Handler позволяет отправлять и обрабатывать сообщения (Message) и Runnable-объекты в потоке, к которому он привязан (обычно UI-поток). Основные сценарии:

  1. Обновление UI из фонового потока
    Например, после загрузки данных в AsyncTask или другом потоке.

  2. Отложенное выполнение кода
    Можно запланировать выполнение кода через определённое время.

Пример:

val handler = Handler(Looper.getMainLooper())
handler.postDelayed({
    textView.text = "Обновлено через 2 секунды"
}, 2000)
  1. Очередь сообщений
    Позволяет управлять очередностью выполнения задач.

Handler связан с Looper, который обрабатывает очередь сообщений потока.