Android Rxjava大量迭代,然后跳过记录

Android Rxjava大量迭代,然后跳过记录,android,rx-java,Android,Rx Java,在我当前的项目中,我陷入了一个过程。我不能多谈那个项目,这就是为什么我要解释我陷入困境的部分 这个项目中有很多记录,比如说200万条,我想把它们全部重复一遍 我尝试通过多种方式对它们进行迭代,在我的例子中,它跳过了一些记录,如果发生了一些错误,那么我希望返回成功迭代的记录。我想我之前遇到过这个问题。下面的代码将帮助您实现这一目的 private val compositeDisposable = CompositeDisposable() fun thenAllValuesAreBuffered

在我当前的项目中,我陷入了一个过程。我不能多谈那个项目,这就是为什么我要解释我陷入困境的部分

这个项目中有很多记录,比如说200万条,我想把它们全部重复一遍


我尝试通过多种方式对它们进行迭代,在我的例子中,它跳过了一些记录,如果发生了一些错误,那么我希望返回成功迭代的记录。

我想我之前遇到过这个问题。下面的代码将帮助您实现这一目的

private val compositeDisposable = CompositeDisposable()
fun thenAllValuesAreBufferedAndReceived() {
    val observable = Observable.rangeLong(0,10000)
    val testSubscriber = observable
    .toFlowable(BackpressureStrategy.BUFFER)
    .subscribeOn(Schedulers.computation())
    .observeOn(Schedulers.computation())
    .buffer(500)
    //.subscribe(::println)
    .subscribeWith(object :FlowableSubscriber<List<Long>>{
    override fun onComplete() {
    println("Flowable OnComplete")
    }

    override fun onSubscribe(s: Subscription) {
    println("Flowable onSubscribe")
    s.request(20)

    }

    override fun onNext(t: List<Long>?) {
    println("Flowable onNext $t")
    }

    override fun onError(t: Throwable?) {
    println("Flowable onError")
    }

    })
}

这些与问题有什么关系?这个答案将有助于减少数据丢失。因为我们每批500个。
override fun onDestroy() {
    super.onDestroy()
    compositeDisposable.clear()
    compositeDisposable.dispose()
}