1
这里有一个简单的观察到的例子:RXJava - 热观测 - 安全CPU资源
observable
.filter(...)
.buffer(50, TimeUnit.MILLISECONDS)
.doOnNext(/* this is executed all the time... */)
.filter(data -> data.size() > 0)
.doOnNext(/* this is not executed because of the filter above... */)
.flatMap(data -> Observable.from(data).distinctUntilChanged())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
问题/疑问
可观察到的,我从buffer(...)
函数得到的是发射结果后的结果,大部分是空的那些。
过滤正确的方式来处理这个问题,像这样的observables?同时有很多这样的订阅会降低性能?或者应该以不同的方式处理?
谢谢,这是我想知道的。我现在必须检查为什么这个设置不再需要'distinctUntilChanged'的嵌套调用,它的工作方式与我的示例相同... – prom85
数据不是'Observable',而是'List',它没有Java中的distinctUntilChanged'。 – akarnokd
我已经理解了,先想错了什么......谢谢 – prom85