Sobes.tech
Назад к вопросам
Junior — Middle
74

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

Компании, где спрашивали
Актив

Ответ от нейросети

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 с результатом
}