Ответ
HandlerThread — это удобный способ создать поток с Looper'ом, который можно использовать для выполнения задач в фоне.
- Создаем экземпляр:
val handlerThread = HandlerThread("MyHandlerThread")
handlerThread.start() // запускаем поток
- Получаем Looper и создаем Handler:
val handler = Handler(handlerThread.looper)
- Отправляем задачи:
handler.post {
// код выполнится в HandlerThread
}
- Не забываем освободить ресурсы:
handlerThread.quit() // или quitSafely() для завершения
Нюансы:
quitSafely()безопаснее, так как завершает выполнение текущих задач.- Нельзя использовать Looper после вызова
quit(). - Подходит для фоновых операций, не требующих UI-потока.