带有 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();
我最近从 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();