android – 使用subscribeOn和Retrofit

前端之家收集整理的这篇文章主要介绍了android – 使用subscribeOn和Retrofit前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于何时以及是否将subscribeOn与Retrofit一起使用存在冲突的信息.

Here is an answer说不要使用subscribeOn.
Here is an answer似乎暗示subscribeOn没有好的默认设置.
Here is example code使用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);
    });

解决方法

在当前版本的Retrofit(1.9.0)中,Retrofit使用自己的执行程序来执行http调用,而不使用subscribeOn方法给出的 the executor backed by the schedulers.

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

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

猜你在找的Android相关文章