作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在另一个线程上运行 RxJava,因为主线程上的工作太多。
我在一个方法内运行观察者,下面是代码 fragment :
public void updatePie() {
RxJavaPlugins.setErrorHandler(Functions.<Throwable>emptyConsumer());
Observable<Long> intervalObservable = Observable
.interval(1, TimeUnit.SECONDS)
//.doOnError(Functions.<Throwable>emptyConsumer())
.subscribeOn(Schedulers.io())
.takeWhile(new Predicate<Long>() {
@Override
public boolean test(Long aLong) throws Exception {
if (isMyServiceRunning(MyService.class) == false) {
RxB = false;
}
return RxB;
}
})
.observeOn(AndroidSchedulers.mainThread());
最佳答案
Observable.interval
默认在后台线程中工作。所以你不需要做任何事情。
.subscribeOn()
负责 observable 应该在哪里工作。
.observeOn()
负责以下方法调用的工作位置(通常是 MainThere)
关于java - 如何在另一个线程上运行 RxJava 观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62193646/
我是一名优秀的程序员,十分优秀!