Зачем нужен асинхронный запрос

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

Ответ

Асинхронные запросы позволяют выполнять операции (например, сетевые вызовы или чтение БД) без блокировки основного потока UI. Если выполнять такие операции синхронно, приложение зависнет до завершения операции, что приведет к ANR (Application Not Responding).

Пример с AsyncTask (устарел, но для понимания):

private class NetworkTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        // Выполняем в фоне
        return makeRequest(urls[0]);
    }

    @Override
    protected void onPostExecute(String result) {
        // Обновляем UI с результатом
        textView.setText(result);
    }
}

Современные альтернативы: Kotlin Coroutines, RxJava, WorkManager. Главное — не блокировать UI-поток долгими операциями.