繁体   English   中英

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

[英]How to handle rotation with Retrofit and RxJava/RxAndroid in Activity?

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

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

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

编辑:

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

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

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

基本上,你必须将observable( ConnectableObservable )放在一个带有TransformerLoader中 ,然后在活动/片段被销毁后恢复时重新订阅它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM