如何在Activity中使用Retrofit和RxJava / RxAndroid处理旋转?

时间:2015-08-27 07:41:33

标签: android rotation retrofit rx-java rx-android

我读到here我们可以使用一些全局缓存来处理旋转。

  

您可以通过使用缓存或重放Observable运算符来防止这种情况,同时确保Observable以某种方式在Activity生命周期中存活(例如,通过将其存储在全局缓存,片段等中)。

但是如何实现呢?有人可以指点我怎么做的一些例子? 或者您可能知道一些更好的方法来处理配置更改?

编辑:

目前我已找到很多方法,但最终我使用了RxBus实现。使用RxBus的好例子你可以找到here

2 个答案:

答案 0 :(得分:5)

我已经制作了一个演示应用程序(https://github.com/pmellaaho/RxApp),以便试验如何解决Android应用程序中的各种情况。简而言之,我使用Activity中的单例模型来获取网络响应。这使得缓存响应,从多个UI组件访问数据,订阅待处理请求以及为自动UI测试提供模拟数据成为可能。

答案 1 :(得分:0)

我最近使用Loader和ConnectableObservable在RxJava2流中处理更好的旋转。我甚至创建了Medium Post详细解释我的方法。

基本上,您必须将 Loader 中的observable( ConnectableObservable )与 Transformer 放在一起,然后在下次重新订阅它时活动/片段在被销毁后恢复。