Как будешь ходить в сеть каждые 5 секунд

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

Ответ

Для периодических сетевых запросов используй Handler + Runnable или WorkManager для фоновых задач. Вот пример с Handler:

val handler = Handler(Looper.getMainLooper())
val runnable = object : Runnable {
    override fun run() {
        // Твой сетевой запрос здесь
        handler.postDelayed(this, 5000) // Повтор каждые 5 сек
    }
}

// Запуск
handler.post(runnable)

// Остановка (например в onDestroy)
handler.removeCallbacks(runnable)

Важно:

  • Не делай так в продакшене - это убьёт батарею
  • Для фоновых задач лучше WorkManager с периодичностью не менее 15 минут
  • Учитывай Doze Mode и ограничения Android на частые запросы
  • Используй экспоненциальный бэкофф при ошибках