1
我知道,當您訂閱Observable時,您將獲得訂閱,您必須使用Android的生命週期取消訂閱。 因此,在片段或活動中訂閱的情況下,我使用onDestroy()取消訂閱。Android中的RxJava:當您沒有生命週期時,自動取消訂閱
但我的問題是,當我在沒有任何生命週期的地方進行訂閱時。例如在SyncAdapter中。在這種情況下(或多種情況)我如何「自動取消訂閱」來避免內存泄漏? 是否有任何好的做法說「我從來沒有訂閱過XXX的地方」,我打破了SyncAdapter中的此訂閱?
我想在這樣的事情:
compositeDisposable.add(
Observable.just()...
...
.doOnTerminate(compositeDisposable::dispose)
.subscribe(...)
);
謝謝!還有一個問題:.unsubscribeOn真的從流中退訂或者只說哪裏(哪個線程)退訂? – fitu
默認情況下,如果調用onError()或onComplete(),它將取消訂閱流。當您想要指定要取消訂閱的線程時,unSubscribeOn()非常有用 –