Выбор ответа Junior Многопоточность и WorkManager обновлено

Сеть на главном потоке

Вопрос

Что произойдёт при синхронном сетевом запросе на главном потоке?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Бросится NetworkOnMainThreadException. Начиная с Android 3.0, StrictMode-проверка в системе запрещает сеть на главном потоке и бросает NetworkOnMainThreadException.

Варианты ответа

  1. Запрос выполнится, просто медленнее
  2. Android автоматически перенесёт запрос в фон
  3. Бросится NetworkOnMainThreadExceptionправильный ответ
  4. Запрос выполнится, только если включён Wi-Fi

Разбор

Начиная с Android 3.0, StrictMode-проверка в системе запрещает сеть на главном потоке и бросает NetworkOnMainThreadException. Сеть выполняют в корутине на Dispatchers.IO или через suspend-функции Retrofit. Автоматического переноса в фон нет, тип сети не важен.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.