Где стартует главный поток

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

Ответ

Главный поток (UI-поток) в Android стартует автоматически при запуске приложения. Он создается системой при вызове ActivityThread.main() — это точка входа для приложения. Главный поток отвечает за обработку событий UI, например, отрисовку элементов и обработку кликов.

Пример кода в Activity:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // Проверка, что код выполняется в главном потоке
    if (Looper.myLooper() == Looper.getMainLooper()) {
        Log.d("MainThread", "Это главный поток!")
    }
}

⚠️ Долгие операции (сеть, БД) нельзя выполнять в главном потоке — это вызовет ANR. Используйте Coroutine(Dispatchers.IO) или AsyncTask (deprecated).