android — Использование подписки на Retrofit" />

Использование подписки на 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);
    });
7 голосов | спросил William 11 FebruaryEurope/MoscowbWed, 11 Feb 2015 22:27:12 +0300000000pmWed, 11 Feb 2015 22:27:12 +030015 2015, 22:27:12

1 ответ


0

В текущей версии Retrofit (1.9.0) Retrofit использует своего собственного исполнителя для выполнения вызова http и не использует исполнитель, поддерживаемый планировщиками , заданным subscribeOn метод.

В вашем случае планировщик будет использоваться только для выполнения кода, который добавит ваш http-вызов исполнителю, используемому для модернизации. (Так что это немного бесполезно ...)

НО относительно фактического кода из Модификация на Github , ретрофит прекратит использовать своего исполнителя, поэтому вместо этого можно использовать планировщик RxJava.

ответил dwursteisen 13 FebruaryEurope/MoscowbFri, 13 Feb 2015 17:39:24 +0300000000pmFri, 13 Feb 2015 17:39:24 +030015 2015, 17:39:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132