Android框架|异步-RxJava2.x(一)

文章目录

1.Rxjava是什么
2.Rxjava的优点
3.Rxjava的实现
4.观察者模式
5.RxJava 的观察者模式


1.Rxjava是什么?

  • 官方文档
    RxJava 的本质可以压缩为异步这一个词,它是一个可以实现异步操作的库。
    它是一种响应编程模式,其中一个关键的概念是事件。事件可以被等待,可以触发过程,也可以触发其它事件。

2.Rxjava的优点

  • 它优于其他实现异步的方法便是它的简洁性,并且能够随着程序逻辑变得越来越复杂的时候,它依然能够保持简洁。

3.Rxjava的实现

  • RxJava的实现,是一种从上到下的链式调用,没有任何嵌套,这在逻辑的简洁性上是具有优势的。当需求变得复杂时,这种优势将更加明显。RxJava的异步实现,是通过观察者模式来实现的。

4.观察者模式

  • 注意,观察者模式并不意味着每时每刻都在“观察”中,而是采用注册(Register)或者称为订阅(Subscribe)的方式,告诉被观察者:我需要你的某某状态,你要在它变化的时候通知我。
    一个比较典型的例子是点击监听器 OnClickListener 。对设置 OnClickListener 来说, View 是被观察者,OnClickListener 是观察者,二者通过 setOnClickListener()方法达成订阅关系。订阅之后用户点击按钮的瞬间,Android Framework 就会将点击事件发送给已经注册的OnClickListener 。
    采取这样被动的观察方式,既省去了反复检索状态的资源消耗,也能够得到最高的反馈速度。

5.RxJava 的观察者模式

  • RxJava 有四个基本概念:Observable (被观察者)、 Observer (观察者)、
    subscribe (订阅)、Event事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer。

    RxJava 的事件回调方法除了普通事件 onNext() (相当于 onClick() /
    onEvent())之外,还定义了两个特殊的事件:onCompleted()onError()

    onCompleted(): 事件队列完结。RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。RxJava规定,当不会再有新的 onNext() 发出时,需要触发 onCompleted() 方法作为标志。
    onError():事件队列异常。在事件处理过程中出异常时,onError() 会被触发,同时队列自动终止,不允许再有事件发出。
    在一个正确运行的事件序列中, onCompleted() 和 onError()有且只有一个,并且是事件序列中的最后一个。需要注意的是,onCompleted() 和 onError()二者也是互斥的,即在队列中调用了其中一个,就不应该再调用另一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值