带有 retrofit-beta2 和 rxjava 的 NetworkOnMainThreadException

NetworkOnMainThreadException with retrofit-beta2 and rxjava

我最近从 retroft-beta1 升级了,这很有效。我有以下 API 的界面:

public interface Service {
    @POST("path")
    Observable<Object> service();
}

以及以下调用:

service.service()
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe();

并抛出 NetworkOnMainThreadException。但这在 retrofit-beta1 中有效。

从 retrofit-beta2,调用 Observable 方法 now behave synchronously。所以必须使用subscribeOn

service.service()
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe();