政策动态

信息化产业的前沿技术

发布时间:2018-07-21 来源:修文工信局
关键字: RxJava,Android,框架

接口变化

RxJava 2.x 拥有了新的特性,其依赖于4个基础接口,它们分别是

  • Publisher
  • Subscriber
  • Subscription
  • Processor

其中最核心的莫过于 PublisherSubscriberPublisher 可以发出一系列的事件,而 Subscriber 负责和处理这些事件。

其中用的比较多的自然是 PublisherFlowable,它支持背压。关于背压给个简洁的定义就是:

背压是指在异步场景中,被观察者发送事件速度远快于观察者的处理速度的情况下,一种告诉上游的被观察者降低发送速度的策略。

简而言之,背压是流速控制的一种策略。有兴趣的可以看一下官方对于背压的讲解。

可以明显地发现,RxJava 2.x 最大的改动就是对于 backpressure 的处理,为此将原来的 Observable 拆分成了新的 ObservableFlowable,同时其他相关部分也同时进行了拆分,但令人庆幸的是,是它,是它,还是它,还是我们最熟悉和最喜欢的 RxJava。

观察者模式

大家可能都知道, RxJava 以观察者模式为骨架,在 2.0 中依旧如此

不过此次更新中,出现了两种观察者模式:

  • Observable ( 被观察者 ) / Observer ( 观察者 )
  • Flowable (被观察者)/ Subscriber (观察者)

文章来源:修文工信局 收藏该文章