Что такое Polling

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

Ответ

Polling — это техника, при которой клиент периодически отправляет запросы к серверу для проверки обновлений. Это просто реализовать, но неэффективно из-за лишних запросов, особенно если обновления редкие.

Пример (Kotlin, Retrofit):

val handler = Handler(Looper.getMainLooper())
val runnable = object : Runnable {
    override fun run() {
        viewModel.fetchData() // Запрос к API
        handler.postDelayed(this, 5000) // Повтор каждые 5 сек
    }
}
handler.post(runnable)
// Не забыть удалить callback: handler.removeCallbacks(runnable)

Минусы:

  • Трафик и нагрузка на сервер
  • Задержки в получении данных (зависит от интервала)

Альтернативы: WebSockets, Firebase Realtime DB, WorkManager с backoff-логикой.