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

Ден*_*еня 29 android rotation rx-java retrofit rx-android

在这里读到我们可以使用一些全局缓存来处理旋转.

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

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

编辑:

目前我已经找到了很多方法,但最终我使用了RxBus实现.你可以在这里找到使用RxBus的好例子.

pme*_*aho 5

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

  • 对不起,我对RxLifecycle错了,它只能处理自动取消订阅以防止内存泄漏而不能处理轮换.这是我的误解.再次感谢你的榜样! (3认同)
  • 感谢您的演示应用程序!但我认为我们应该使用RxLifecycle库来处理轮换,同时我们提出请求.看看RxAndroid的变化和稳定版本https://github.com/ReactiveX/RxAndroid/blob/80393be5a835374bf9614e89f0629d5650fcdf92/CHANGES.md (2认同)