RxJava2CallAdapterFactory.create()
和RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())
有什么区别?应该选择哪一个?
答案 0 :(得分:0)
如果将Scheduler
传递给RxJava2CallAdapterFactory,它将向您发出的每个网络请求中添加subscribeOn(scheduler)
。这只是一种方便的方法。
答案 1 :(得分:0)
与源代码的区别
这两个方法都返回同步可观察实例,但是create()
方法没有默认运行的调度程序,顾名思义,createWithSchedulers(Scheduler scheduler)
默认情况下在相应的调度程序上运行,您已在其中提到方法,根据您的示例,它将为Scheduler.io()
。
您应该使用哪个?
现在这将取决于您,默认情况下您直接要在Schedulers.io()
或其他调度程序中返回实例的API,然后将其与调度程序一起使用,否则可以使用create()
方法并且可以每次获取响应时声明调度程序。
注意:我个人使用create()
方法,有时会提到其他Schedulers.newThread()
和/或Schedulers.computation()