Wenn der onComplete-Aufruf für ein RxJava-Thema gemacht wird, muss ich mich manuell wieder abmelden?

Ich verwende ein RxJava ReplaySubject in meinem Fragment.

Ich versuche, das ReplaySubject auf eine Art und Weise zu verwenden, wo ich das Subjekt gerne einen Prozess bis zur Vollendung ausführen möchte (möglicherweise über das Leben des Fragments hinaus).

  • Keine Verknüpfung für DDMS in Android Studio 2.2
  • Wie gruppiere ich RadioButton aus verschiedenen LinearLayouts?
  • Drücken Sie den Inhalt, wenn Sie in den Text klicken
  • Wie erstelle ich einen Ordner im android External Storage Directory?
  • Aktivitätslebenszyklus - onCreate forderte jede Neuorientierung auf
  • ViewPager call setUserVisibleHint nach dem ersten Fragment wird geladen
  • Nach Abschluss des Prozesses möchte ich die Ressourcen freisetzen, die – wie ich verstehe – durch Abbestellen des Abonnements zum Zeitpunkt der Registrierung des Beobachters (was in meinem Fall ist das Thema selbst).

    In diesem github Ausgabe-Thread @benjchristensen sagt:

    Wenn es ein Observable ist, dann sollte es ein onCompleted emittieren und getan werden.

    Wenn es ein Beobachter ist, dann sollte es sich von dem Abonnement abmelden, das es erhielt, als es Observable.subscribe anrief und es wird dem Observable eine Chance geben, herunterzufahren und aufzuräumen.

    Wenn es ein Subjekt ist – das ist sowohl ein Beobachter als auch ein Beobachtbares – was ist das Verhalten? Wenn ich anzähle, ist es vollkommen das Abonnement gestoppt, und ich bin also entlastet, das Abonnement manuell abzumelden, indem ich den Beobachter registriere?

  • Android-Emulator-Hosts-Datei
  • In einer Android-App, wann sind Ressourcen in den Speicher geladen?
  • Zugriff auf localhost: Port von Android Emulator
  • Android FragmentTabHost - Noch nicht vollständig gebacken?
  • Zeige ActionBarSherlock SearchView wurde immer erweitert
  • Android-Fragment oncreateview aufgerufen Tab ändern
  • One Solution collect form web for “Wenn der onComplete-Aufruf für ein RxJava-Thema gemacht wird, muss ich mich manuell wieder abmelden?”

    Die Themen sind eine relativ dünne Schicht auf einer Observable, die es Ihnen ermöglicht, onNext() , onCompleted() und onError() Anrufe von einer Quelle außerhalb des Observable zu füttern. Ihr Abmeldungsverhalten ist das gleiche wie ein Observable. Wenn onCompleted() oder onError() auf dem Betreff aufgerufen werden, werden die Teilnehmer abbestellt. Keine unsubscribe() auf das von Observable.subscribe() Abonnement.

    Für ein ReplaySubject , beachten Sie, dass die Ressourcen nicht gereinigt werden, bis es Müll gesammelt wird. Sogar nachdem onCompleted() auf einem ReplaySubject , kann ein Abonnent immer noch abonnieren und es wird alle ursprünglichen onNext() , onCompleted() oder onError() Anrufe erhalten, die vor dem Abonnement gemacht wurden.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.