当前位置:  开发笔记 > Android > 正文

RxAndroid,事件总线和Activity生命周期

如何解决《RxAndroid,事件总线和Activity生命周期》经验,为你挑选了0个好方法。

我发现一些文章谈论RxJava/RxAndroid如何取代事件总线(如otto)

https://lorentzos.com/rxjava-as-event-bus-the-right-way-10a36bdd49ba#.7a4619qva

https://medium.com/mobiwise-blog/use-rxjava-instead-of-event-bus-libraries-aa78b5023097#.ew28h2urf

第一篇文章的引用:

来自Square的Otto在前几天被正式弃用.在Android世界中,我们现在可以为"EventBusses死了很长的RxJava"而欢呼.

但我有一件事是:

事件总线的一个好处是它们对Activity生命周期有很大的帮助,因为你不需要手动管理注册/取消注册回调(从而避免内存泄漏)

示例流程:

活动订阅获取歌曲的事件(比如SongsAvailableEvent)

我们要求歌曲(我们提出网络请求)

我们在请求中更改设备的方向

Activity死了,构建了一个新的,也订阅了SongsAvailableEvent

新活动获取事件并更新UI,旧活动(现在已经死了)没有得到事件(耶!)

上面的文章看起来这个流程是由RxAndroid/RxJava"解决"的,但是使用Rx时,你仍然需要在更改设备的方向时手动订阅/取消订阅Observable.此外,如果我想"重用"Observable中的请求,我需要以某种方式持久化它,以便我将在新Activity中订阅相同的Observable(我不太清楚如何做到这一点,但它是不是重点:)).

我的问题是:这个问题是否可以用纯RxAndroid/RxJava轻松解决,或者我是否仍然需要使用事件总线/扩展Rx使用RxLifecycle之类的东西(由于我不在表示层管理我的Observables使事情变得复杂) ?

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有