Расскажите про Looper
В обычных программах вызывается метод main() и исполнение программы завершается сразу после того как исполнится метод main(). Но в Андроид приложения зачастую вынуждены ожидать действий пользователя и только потом выполнять какое-либо действие. Для этого в Андроид используются три класса: Looper, MessageQueue и Handler
Looper с английского переводится как “зацикливатель”. В обычном случае у потока есть метод run() и поток завершается как только происходит возврат из метода run(). Но Looper заставляет данный поток работать до тех пор, пока не будет вызван метод quit(). Его можно рассматривать как движок V8, который запускает цикл обработки сообщений для данного потока.
Зачастую лупер необходимо использовать, чтобы создать Handler для главного потока. Получить лупер главного потока можно используя функцию Looper.getMainLooper() либо же activity.getMainLooper()
Бесплатные Telegram-боты для обучения
Практика с проверкой кода и помощью ИИ-ментора
AndroidSprint AI Mentor
Проверяет Pull Request'ы в GitHub, проводит тестовые собеседования с голосом и таймером, помогает разбираться с кодом 24/7
Попробовать ИИ-ментора →KotlinSprint Bot
22 урока Kotlin, 220 тестов, 120 практических задач с код-ревью
Начать обучение Kotlin →