一、RxJava-buffer语法练习
public Observable<Integer> getRxJavaDistinctData() {
return Observable.just(1, 2, 2, 1, 1, 2, 3, 4, 5, 2);
}
public void rxJavaBufferExample() {
Disposable disposable = model.getRxJavaDistinctData()
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.buffer(3,2)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<List<Integer>>() {
@Override
public void accept(List<Integer> integers) throws Exception {
LogUtils.error(TAG, "rxJavaBufferExample--Consumer--:" + Thread.currentThread().getName() + "--size:" + integers.size());
for (int integer : integers) {
LogUtils.error(TAG, "rxJavaBufferExample--Consumer--:" + Thread.currentThread().getName() + "--value:" + integer + "\n");
}
}
});
compositeDisposable.add(disposable);
}
日志
08-18 09:48:56.751 31305-31305/com.example.zhang E/MainPresenter: rxJavaBufferExample--Consumer--:main--size:3
rxJavaBufferExample--Consumer--:main--value:1
rxJavaBufferExample--Consumer--:main--value:2
rxJavaBufferExample--Consumer--:main--value:2
rxJavaBufferExample--Consumer--:main--size:3
rxJavaBufferExample--Consumer--:main--value:2
08-18 09:48:56.752 31305-31305/com.example.zhang E/MainPresenter: rxJavaBufferExample--Consumer--:main--value:1
rxJavaBufferExample--Consumer--:main--value:1
rxJavaBufferExample--Consumer--:main--size:3
rxJavaBufferExample--Consumer--:main--value:1
rxJavaBufferExample--Consumer--:main--value:2
rxJavaBufferExample--Consumer--:main--value:3
rxJavaBufferExample--Consumer--:main--size:3
rxJavaBufferExample--Consumer--:main--value:3
rxJavaBufferExample--Consumer--:main--value:4
rxJavaBufferExample--Consumer--:main--value:5
rxJavaBufferExample--Consumer--:main--size:2
rxJavaBufferExample--Consumer--:main--value:5
rxJavaBufferExample--Consumer--:main--value:2
总结
1、buffer(int count, int skip) count是buffer的最大值 skip是步长

河马过河微信公众号.jpg
网友评论