Rx java 在背压缓冲区溢出后的一段时间内跳过项目

Rx java 在背压缓冲区溢出后的一段时间内跳过项目,rx-java,rx-android,Rx Java,Rx Android,我的用例是使用Snackbar在Android应用程序中显示通知。我一次只能显示一个通知,因此我使用onBackpressureBuffer,并且仅在Snackbar关闭时请求下一项。这工作得很好,但是如果缓冲区溢出,我希望有一个冷却期,这样我们就不会有恒定的通知流。换句话说,当缓冲区溢出时,跳过新的排放一段时间 到目前为止,我有类似的东西 observable .onBackpressureBuffer( bufferSize, () -> { /

我的用例是使用Snackbar在Android应用程序中显示通知。我一次只能显示一个通知,因此我使用onBackpressureBuffer,并且仅在Snackbar关闭时请求下一项。这工作得很好,但是如果缓冲区溢出,我希望有一个冷却期,这样我们就不会有恒定的通知流。换句话说,当缓冲区溢出时,跳过新的排放一段时间

到目前为止,我有类似的东西

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操作中,我想以某种方式开始冷却阶段

似乎我想要一些组合的背压缓冲和节流超时或跳过。我希望通过一种新的背压溢流策略来实现这一点,但这似乎并没有提供太多的灵活性。有没有一种简单的方法可以按照我想要的方式组合这些内容

谢谢