【发布时间】:2018-05-30 11:40:10
【问题描述】:
我想在短暂的延迟后做点什么:
public void notifyMe() {
Single
.timer(500, TimeUnit.MILLISECONDS)
.subscribeOn(Schedulers.io())
.subscribe(ignore -> service.notifyMe()));
}
现在我有一个警告:"The result of subscribe is not used"。
我该如何解决?
【问题讨论】:
-
等等,但在我的示例中只会发出一个值。
-
这是在 Android 应用程序中吗?如果是这样,您应该将结果添加到
CompositeDisposable。 -
@akarnokd,在这种情况下,android 和 java(java 测试/控制台应用程序等)有什么不同?以及如何帮助我 CompositeDisposable?无论如何,有人应该调用 dispose。所以,我的问题是:方法 scubscribe() 返回我 Disposable,我应该在发送通知后调用它,对吗?
-
Android 具有更严格的生命周期,并且必须格外小心泄漏流。在桌面 Swing 上,您还应该在用户可以关闭的窗口中执行操作时执行
CompositeDisposable.add()。当不再需要执行该操作时,您应该致电dispose。如果您立即调用它,则不会发生通知。 -
抱歉@YuraShinkarev,但我以为您是在尝试订阅,而不是退订,所以我之前的评论与此无关。