将subscribeOn与Retrofit一起使用

Wil*_*iam 7 android rx-java retrofit

关于何时以及是否subscribeOn与Retrofit 一起使用存在冲突的信息.

这是一个不使用的答案subscribeOn.
这个答案似乎意味着subscribeOn没有好的默认设置.
这是使用的示例代码subscribeOn.

那么,一劳永逸,何时应该使用subscribeOn和使用什么线程?使用或不使用的可能后果是subscribeOn什么?

apiService.issueRequest()
    // Is this useful? Required? Bad practice?
    .subscribeOn(Schedulers.io())
    // Do actions on main thread
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Action1<Response>() {
        @Override public void call(Response response) {
            handleResponse(response);
    });
Run Code Online (Sandbox Code Playgroud)

dwu*_*sen 6

在当前版本的Retrofit(1.9.0)中,Retrofit使用自己的执行程序来执行http调用,并且不使用由该方法给出的调度程序支持的执行程序subscribeOn.

在您的情况下,调度程序将仅用于执行将您的http调用添加到改造使用的执行程序的代码.(所以它有点无用......)

但是,关于Github上的Retrofit的实际代码,改造停止使用他的执行程序,因此可能使用RxJava调度程序.