Какие плюсы и минусы RxJava Interval Operator

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

Ответ

Плюсы:

  • Позволяет выполнять операции с заданным интервалом (например, обновление UI, опрос сервера).
  • Работает в фоновом потоке по умолчанию (если не указан observeOn).
  • Легко отменяется через Disposable.

Минусы:

  • Может вызывать утечки памяти, если не отписываться.
  • Требует управления жизненным циклом (например, отписка в onDestroy).
  • Если не указать observeOn, UI-обновления могут вызывать NetworkOnMainThreadException.

Пример:

val disposable = Observable.interval(1, TimeUnit.SECONDS)
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe { tick -> updateUI(tick) }

// Не забыть отписаться
override fun onDestroy() {
    disposable.dispose()
}