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