バックプレッシャーに問題があります。発行時にセンサのイベントを取得するためにパブリッシュ対象を使用し、トランザクション中にサブジェクトにサブスクライブする際にデータベースにデータを保存する必要があります。私は)私は100センサーイベントの行のを取得するたびに私は一括挿入をすることができますが、私は唯一の(.subscribeで一つのアイテムを取得することができます(100)演算子を.window使用する加速度計RxJavaバックプレッシャー
をしようとしている
たくありませんバッファー演算子を使用してイベントをドロップします。これを処理する正しい方法は何ですか?
@Override
public void onSensorChanged(SensorEvent sevent) {
Sensor sensor = sevent.sensor;
switch (sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
sensorEventPublishSubject.onNext(sevent);
break;
}
}
sensorEventPublishSubject
.map(event ->
new AccModel(
event.values[0],
event.values[1],
event.values[2],
event.accuracy
)
)
.window(100)
.subscribe(
new Action1<Observable<AccModel>>() {
@Override
public void call(Observable<AccModel> accModelObservable) {
//insert in db
}
}
);