可观察 vs 可流动 rxJava2
我一直在看新的rx java 2,我不太确定我是否理解了这个想法......backpressure
我知道我们有没有支持,有支持。Observable
backpressure
Flowable
因此,基于示例,假设我有:flowable
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
}
});
这将在大约128个值之后崩溃,很明显,我的消耗速度比获取物品慢。
但是,我们有相同的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
}
});
这根本不会崩溃,即使我延迟消费它仍然有效。为了工作,假设我把运算符,崩溃消失了,但也不是所有值都被发出。Flowable
onBackpressureDrop
因此,我目前在脑海中找不到答案的基本问题是,为什么我应该关心何时可以使用普通仍然接收所有值而不管理?或者也许从另一方面来看,在管理和处理消费方面,我有什么优势?backpressure
Observable
buffer
backpressure