Sto usando un RxJava ReplaySubject nel mio frammento.Se viene effettuata la chiamata onComplete per un oggetto RxJava, devo annullare l'iscrizione manualmente di nuovo?
Sto tentando di utilizzare ReplaySubject in un modo, in cui desidero che il soggetto esegua un processo fino al completamento (probabilmente oltre la durata del frammento).
Al completamento del processo, vorrei rilasciare le risorse che, come ho capito, vengono cancellate dall'abbonamento al momento della registrazione dell'osservatore (che nel mio caso è il soggetto stesso).
In questo github issue thread @benjchristensen dice:
Se si tratta di un 'osservabile allora dovrebbe emettere un onCompleted e farla finita.
Se si tratta di un osservatore, è necessario annullare l'iscrizione dall'abbonamento ricevuto quando è chiamato Observable.subscribe e darà all'osservabile la possibilità di spegnersi e ripulirsi.
Se si tratta di un oggetto, che è sia un osservatore che un osservabile, qual è il comportamento? Se io chiamo Completo sull'argomento, significa che la sottoscrizione è stata interrotta, e quindi sono sollevato dal dover annullare manualmente l'iscrizione che ottengo registrando l'osservatore?
buon punto su ReplaySubject. –
Questo vale anche per .cache e .replay trasformabili osservabili? – Zardoz
Questo è menzionato nella documentazione da qualche parte? Ho passato letteralmente un'ora su questo oggi prima di aver trovato questo thread. –