不推荐使用RxJavaPlugins.getInstance

时间:2016-07-27 14:34:17

标签: android rx-java rx-android

我覆盖我的调度程序以进行测试:

RxJavaPlugins.getInstance().registerSchedulersHook(object : RxJavaSchedulersHook() {
    override fun getIOScheduler() = Schedulers.immediate()
    override fun getComputationScheduler() = Schedulers.immediate()
    override fun getNewThreadScheduler() = Schedulers.immediate()

  })

但是文档说:

  

不推荐使用RxJavaHooks的静态方法。

如何使用RxJavaHooks覆盖这些调度程序?

1 个答案:

答案 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()   清除所有挂钩(即,所有挂钩都成为直通挂钩)。