Ответ
В Android main — это точка входа в приложение. При старте система вызывает метод main() из класса ActivityThread, который инициализирует главный поток (UI-поток) и запускает цикл сообщений (Looper.loop()). Затем создается экземпляр Application, загружаются ресурсы и запускается стартовая Activity.
Пример упрощенного main:
fun main(args: Array<String>) {
Looper.prepareMainLooper()
ActivityThread.attach(false)
Looper.loop()
}
Ключевые моменты:
- UI-поток становится
HandlerThreadсLooper - Все операции UI должны выполняться в этом потоке
- Блокировка main потока приводит к ANR