Ответ
Асинхронные запросы позволяют выполнять операции (например, сетевые вызовы или чтение БД) без блокировки основного потока 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-поток долгими операциями.