Когда создается Looper

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

Ответ

Looper создается при вызове Looper.prepare(), обычно в потоке, где требуется обработка сообщений (не UI-потоке). Для главного потока Looper создается автоматически системой при запуске приложения.

Пример создания Looper в фоновом потоке:

Thread {
    Looper.prepare() // Создает Looper для текущего потока
    val handler = Handler(Looper.myLooper()!!)
    Looper.loop() // Запускает цикл обработки сообщений
}.start()

Ключевые моменты:

  • Каждый поток может иметь только один Looper
  • prepare() выбрасывает исключение при повторном вызове
  • loop() блокирует поток до вызова quit()