Bei jedem App-Start habe ich eine Retrofit Observable, die den Benutzernamen des Benutzers von einem Server abruft. Ich möchte diesen Wert für jeden nachfolgenden Abonnenten verwenden, aber es scheint, dass jedes Mal, wenn ich subscribe() anrufe, der Wert aus dem Netzwerk erneut abgerufen wird. Da sich der Nutzername während des Lebenszyklus der App wahrscheinlich nicht ändert, erstelle ich das Observable-Objekt nicht erneut, sondern instanziiere es nur einmal. RxJava: Wie mache ich eine Observable Observable?
Wie ich es arbeiten will, ist:
die beobachtbaren Erstellen einmal
die Benutzername einmal holen, diesen Wert in den beobachtbaren
Auf abonnieren speichern, verwenden Sie den Wert gespeichert, oder wenn es nicht fertig holen, warten bis es geholt wird
Wie soll ich das machen?
Mit "Cache'() '", meinen Sie, wenn Sie das Observable erstellen, oder wenn Sie es abonnieren? –
Das Hinzufügen von '.cache()' zur Observablen Instanziierung scheint es getan zu haben. Vielen Dank! –