Sobes.tech
Back to questions
Junior — Middle
73

Что произойдет, если выполнить сетевой запрос в основном потоке программы?

Companies where asked
Актив

Answer from AI

sobes.tech AI

Если выполнить сетевой запрос в основном (UI) потоке Android-приложения, это приведёт к блокировке интерфейса пользователя до завершения запроса. В результате приложение перестанет реагировать на действия пользователя, что может вызвать ANR (Application Not Responding) — системное предупреждение о зависании.

Поэтому сетевые операции нужно выполнять в фоновом потоке, например, используя AsyncTask, Thread, Coroutine или библиотеки вроде Retrofit с поддержкой асинхронности.

Пример с Kotlin Coroutine:

GlobalScope.launch(Dispatchers.Main) {
    val result = withContext(Dispatchers.IO) {
        // сетевой запрос
    }
    // обновление UI с результатом
}