Disposable
- это работа, которую можно отменить.
CompositeDisposable
- это родительская работа, в которую вы можете добавлять столько отменяемых работ, сколько вам нужно (иначе одноразовые)
Что касается DisposableObserver
, это задание, которое позволяет отменить его, даже когда вы находитесь в асинхронном режиме.
Итак, чтобы быть более понятным, во избежание утечек, вам необходимо выполнить операции Rx внутри этих заданий и управлять их отменой в течение жизненного цикла действия / фрагмента.
Например:
val disposable = Observable.fromCallable().....
compositeDisposable.add(disposable)
По методу onDestroy
:
compositeDisposable.dispose();
Что касается DisposableObserver
, см. здесь , у меня мало информации