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