可观察窗口的groupBy导致OutOfMemoryError

时间:2016-11-26 17:37:06

标签: rx-java2

我正在试图弄清楚如何使用Observable.groupBy来限制按键在一个时间范围内推送的元素数量。我最终得到以下结构:

create(emitter -> {
            while (true) {
                publishedMeter.mark();
                emitter.onNext(new Object());
            }
        })
        .window(1000L, TimeUnit.MILLISECONDS)
        .flatMap(window -> window.groupBy(o -> o.hashCode() % 10_000).flatMapMaybe(Observable::lastElement))
        .subscribe(e -> receivedMeter.mark());

虽然subscribe的onNext回调被调用几千次,我认为这应该意味着flatMapMaybe正确订阅了所有GroupedObservableSource。片刻之后RxComputationThreadPool中的一个线程,但我不明白我错过了什么

0 个答案:

没有答案