¿Cuál es la diferencia entre RxJava 2 Cancelable y Desechable?

Quiero crear unObservable desde la vista, haga clic en el oyente usando RxJava 2. Comencé desde la implementación más simple (no uso lambdas aquí para mostrarle diferentes tipos en este método):

 Observable<View> viewObservable = Observable.create(new ObservableOnSubscribe<View>() {
        @Override
        public void subscribe(@NonNull ObservableEmitter<View> e) throws Exception {
            mNewWordView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View value) {
                    if (!e.isDisposed()) {
                        e.onNext(value);
                    }
                }
            });
        }
    });

Entonces pensé en la forma de estableceronClickListener a nulo si no se necesita más. Descubrí que hay dos métodos con nombres similares (para mí):

e.setCancellable(Cancellable c); ye.setDisposable(Disposable d);

¿Cuál es la diferencia entre ellos y cuál debo usar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta