【发布时间】:2019-02-09 08:29:55
【问题描述】:
我正在使用 Retrofit 为我的异步网络调用返回 rxjava Observable。
我发现自己在重复以下调用:
someApiCall().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
似乎我总是订阅 IO 线程并观察 Android 主线程。这似乎是我发现的所有资源都提倡的最佳实践。也许除了长时间运行的计算之外,我不太明白我们什么时候想要偏离这种模式。
有没有办法通过默认 subscribeOn 和 observeOn 线程来删除这个样板?
这是rxjava plugins 的用例吗? (我找不到很多使用它们的例子。)
我可以通过弄乱retrofit executors来在网络边界设置默认线程吗?
【问题讨论】:
-
在此处查看我的问题/答案,了解如何稍微干燥一下:stackoverflow.com/a/25576177
标签: java android multithreading retrofit rx-java