Ответ
Looper создается при вызове Looper.prepare(), обычно в потоке, где требуется обработка сообщений (не UI-потоке). Для главного потока Looper создается автоматически системой при запуске приложения.
Пример создания Looper в фоновом потоке:
Thread {
Looper.prepare() // Создает Looper для текущего потока
val handler = Handler(Looper.myLooper()!!)
Looper.loop() // Запускает цикл обработки сообщений
}.start()
Ключевые моменты:
- Каждый поток может иметь только один Looper
prepare()выбрасывает исключение при повторном вызовеloop()блокирует поток до вызоваquit()