Ich habe so etwas.Leistungsimplikation der Ausgabe von `onCompleted()` oder nicht
Button button = new Button(parent, SWT.PUSH);
PublishSubject<Event> subject = PublishSubject.create();
button.addListener(SWT.Selection, e -> subject.onNext(e));
subject.subscribe(e -> System.out.println("selection=" + e));
Wie Sie sehen können, wird onCompleted()
nie emittiert. Wenn ich ein paar davon mache und meine Handle an sie verliere, werden sie einfach Müll gesammelt.
ich entscheiden, ob ich diese Zeile hinzufügen sollten:
button.addListener(SWT.Dispose, e -> subject.onCompleted());
Wie am besten ich sagen kann, dies fügt nur noch eine weitere anonyme Klasse, die GC'ed werden muss, die wie ein schlechtes Geschäft zu sein scheint. Denke ich über dieses Recht nach? Irgendwelche Vorteile zu emittieren onCompleted()
, dass ich vermisse?
Danke für den Eingang Dave :) –