android - 将 subscribeOn 与 Retrofit 结合使用

标签 android retrofit rx-java

有关何时以及是否将 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 调用并且不使用 the executor backed by the schedulerssubscribeOn 方法给出。

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

但是,关于来自 Retrofit on Github 的实际代码, 改进 stop 以使用他的执行器,因此可以改用 RxJava 调度程序。

关于android - 将 subscribeOn 与 Retrofit 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28462839/

相关文章:

android - Facebook shareDialog 不显示任何内容

java - RxJava + Retrofit - 进行多次调用

android - 使用 Retrofit 以这种格式发布字段

android - 如何捕捉对 get 方法 android 改造的响应?

java - 屏幕旋转后Resume flowable转为实时数据

java - Android 将一个 fragment 导航到另一个 fragment 可以正常工作,但是看不到其他 fragment 的背景

javascript - 将变量从 Android Activity 传递到 JavaScript

android - 当 dao 设置为返回 Single<List<DummyObject>> 时,找不到符号返回 RxRoom.createSingle

android - 将 groupBy 和 toList rxjava 函数与 sqlbrite 一起使用

android - 如何在android中点击按钮时更改listview的按钮背景颜色