Я использую RxJava Flowable with Room
, где я слушаю изменения в таблице. Проблема, как уже упоминалось, заключается в том, что when the result of subscribe, a disposable, is added to a CompositeDisposable, it immediately unsubscribes
.
Ниже приведен соответствующий код:
repo.getFlowable(id)
?.doOnDispose { Timber.i("Unsubscribed") }
?.doOnDispose { Timber.i("Disposed") }
?.subscribe({
Timber.i("Subscribed")
}, {
Timber.e(it)
})?.apply {
compositeDisposables.add(this)
}
Когда добавлен блок применения, сразу же печатаются «Отписанные» и «Уничтоженные» even though "compositeDisposables.dispose()" is not called.
Без блока применения он работает как положено.
Это ожидаемое поведение? Почему подписка утилизируется сразу, когда Composite Disposable еще не утилизирован?