Rxjava为什么没有执行onNext方法

Rxjava why did not execute the onNext method

我写了一个打印flatMap输出的方法(伪代码):

Observable.just(...).repeat()
    .flatMap( return Observable.just([double]))
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Subscriber<Double>() {
        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {
            tvConfidence.setText(e.getMessage());
        }

        @Override
        public void onNext(Double aDouble) {
            tvConfidence.setText("Confidence :" + aDouble);
        }
    });

当我 运行 这些代码时,它工作了几秒钟,但几秒钟后,它就不会 运行 再次进入 onNext 方法。我不知道为什么,因为我调试代码,它会运行 Observable.just(double),并且值总是改变但是它不会执行代码setText刷新[=14] =].

我的猜测是,由于特定的 flatMap 过载,您最终会开始积累大量 just,因为 flatMap 是无界的。尝试使用 flatMap(f, 1) 来限制并发级别。