Rx java 在背压缓冲区溢出后的一段时间内跳过项目
我的用例是使用Snackbar在Android应用程序中显示通知。我一次只能显示一个通知,因此我使用onBackpressureBuffer,并且仅在Snackbar关闭时请求下一项。这工作得很好,但是如果缓冲区溢出,我希望有一个冷却期,这样我们就不会有恒定的通知流。换句话说,当缓冲区溢出时,跳过新的排放一段时间 到目前为止,我有类似的东西Rx java 在背压缓冲区溢出后的一段时间内跳过项目,rx-java,rx-android,Rx Java,Rx Android,我的用例是使用Snackbar在Android应用程序中显示通知。我一次只能显示一个通知,因此我使用onBackpressureBuffer,并且仅在Snackbar关闭时请求下一项。这工作得很好,但是如果缓冲区溢出,我希望有一个冷却期,这样我们就不会有恒定的通知流。换句话说,当缓冲区溢出时,跳过新的排放一段时间 到目前为止,我有类似的东西 observable .onBackpressureBuffer( bufferSize, () -> { /
observable
.onBackpressureBuffer(
bufferSize,
() -> { /* start cool-off time here */ },
BackpressureOverflow.ON_OVERFLOW_DROP_LATEST)
.subscribe(new Subscriber() {
void onStart() {
request(1);
}
void onNext(item) {
snackBar = createSnackbar(item);
snackBar.setCallback((sb, event) -> { request(1) }
snackbar.show();
}
});
在OperatorOnBackpressureBuffer的onOverflow操作中,我想以某种方式开始冷却阶段
似乎我想要一些组合的背压缓冲和节流超时或跳过。我希望通过一种新的背压溢流策略来实现这一点,但这似乎并没有提供太多的灵活性。有没有一种简单的方法可以按照我想要的方式组合这些内容
谢谢