Observable和Flowable接口似乎是相同的。为什么Flowable在RxJava 2.0中引入?我应该何时使用Flowable over Observable?RxJava 2.0中的Observable和Flowable有何区别?
16
A
回答
28
有关RxJava 0.X引入背压小遗憾是 ,而不是具有单独的碱活性基类时,可观察 本身改装。背压的主要问题是许多热源(例如UI事件)不能被合理地背压,并且导致意外的
MissingBackpressureException
(即,初学者不期望它们) 。我们试图通过具有
io.reactivex.Observable
非backpressured和新io.reactivex.Flowable
是启用背压,碱活性类补救2.X这种情况。
使用Observable
当你有一段时间(< 1000)和/或有没有生产overflooding消费者的风险,从而导致OOM相对较少的项目。
使用Flowable
当您的项目数量比较大时,您需要仔细控制Producer
的行为方式以避免资源耗尽和/或拥塞。
背压 当你有一个可观察的发射项目如此之快,消费者不能与通向发射,但未被消耗的项目存在的流动跟上。
如何管理和控制未被消耗掉但未被用户消耗的未消耗项目是背压策略处理的内容。
+2
我认为他们应该仍然支持一个通用接口,或者Flowable应该扩展Observable,这样他们可以合并等等 –
相关问题
- 1. RxJava。加入来自两个Observable/Flowable流的所有项目
- 2. rxjava 2.0 Observable.subscribe和Observable.subscribeActual之间有什么区别?
- 3. EventBus和RxJava有什么区别?
- 4. @observable和@published之间有什么区别
- 5. Metro 1.5和2.0有何区别?
- 6. 如何缓存RxJava/RxScala中的observable
- 7. 如何刷新RxJava中的observable?
- 8. 在RxJava中取消Observable
- 9. OAuth和OAuth 2.0有什么区别?
- 10. 如何在RxJava中的另一个observable内部封装observable?
- 11. RxJava - Observable的zip列表
- 12. 与其他Observable过滤RxJava Observable
- 13. 将RxJava Observable转换为RxScala Observable
- 14. RxJava Observable和Subscriber用于跳过异常?
- 15. RxJava Observable永不执行onCompleted
- 16. RxJava 2也许用Observable
- 17. rxJava 1:fromCallable和defer之间有什么区别?
- 18. RxJava 2可取消和一次性使用有什么区别?
- 19. RXJS,Observable.create和new Observable之间有什么区别?
- 20. 弹簧版本2.0和2.3的区别
- 21. NMock 2.0和NMock2之间的区别
- 22. CLR 2.0和CLR 4.0之间的区别
- 23. ActionScript 2.0和3.0之间的区别...?
- 24. Doctrine 1.0.7和Doctrine 2.0之间的区别?
- 25. DLNA 1.5和2.0之间的区别
- 26. 如何链接多个observable与RxJava?
- 27. 如何过滤Angular 2.0中的Observable Array?
- 28. RxJava和Android:如何使使用cache()的observable无效?
- 29. 使用observeOn时,为什么我的RxJava Flowable不尊重背压?
- 30. .NET Core 2.0 SDK中.DLL和ref文件夹有什么区别?
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0 – KeatsPeeks
背压支持。 – EpicPandaForce