我覆盖我的调度程序以进行测试:
RxJavaPlugins.getInstance().registerSchedulersHook(object : RxJavaSchedulersHook() {
override fun getIOScheduler() = Schedulers.immediate()
override fun getComputationScheduler() = Schedulers.immediate()
override fun getNewThreadScheduler() = Schedulers.immediate()
})
但是文档说:
不推荐使用RxJavaHooks的静态方法。
如何使用RxJavaHooks
覆盖这些调度程序?
答案 0 :(得分:10)
Release notes for 1.1.7包含代码示例如何在java中执行此操作。设置计算调度程序的小摘录:
RxJavaHooks.setOnIOScheduler(current -> Schedulers.immediate())
RxJavaHooks.setOnComputationScheduler(current -> Schedulers.immediate())
RxJavaHooks.setOnNewThreadScheduler(current -> Schedulers.immediate())
还有
默认情况下,所有RxJavaHooks都委托给原始的RxJavaPlugins 回调所以如果你有旧的方法,它们仍然可以工作。
RxJavaHooks.reset()
重置为此代表团并RxJavaHooks.clear()
清除所有挂钩(即,所有挂钩都成为直通挂钩)。