Beobachtbar gegen fließfähiges rxJava2

Ich war auf der Suche nach neuen rx java 2 und ich bin mir nicht ganz sicher, ich verstehe die Idee von backpressure mehr...

Ich bin mir bewusst, dass wir Observable dass nicht backpressure Unterstützung und Flowable, die es hat.

Also basierend auf Beispiel, können sagen, ich habe flowable mit interval:

        Flowable.interval(1, TimeUnit.MILLISECONDS, Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<Long>() {
                @Override
                public void accept(Long aLong) throws Exception {
                    //do smth
                }
            });

Das wird Absturz-nach rund 128 Werte, und das ist ziemlich offensichtlich, ich bin Konsum langsamer als der erste Artikel.

Aber dann haben wir das gleiche mit Observable

     Observable.interval(1, TimeUnit.MILLISECONDS, Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<Long>() {
                @Override
                public void accept(Long aLong) throws Exception {
                    //do smth
                }
            });

Diese wird nicht Abstürzen, auch wenn ich mit einiger Verzögerung auf den Konsum es funktioniert immer noch. Um Flowable Arbeit können sagen, lege ich onBackpressureDrop Betreiber, crash ist Weg, aber nicht alle Werte emittiert werden.

Also die Basis-Frage kann ich nicht beantworten, die derzeit in meinem Kopf ist, warum sollte es mich kümmern, über backpressure wenn ich kann verwenden nur Observable weiterhin alle Werte ohne die Verwaltung der buffer? Oder vielleicht von der anderen Seite, welche Vorteile backpressure mir zu Gunsten von die Verwaltung von und den Umgang mit dem Konsum?

InformationsquelleAutor der Frage user2141889 | 2016-10-29

Schreibe einen Kommentar