RxJava终极文档(保证理解,保证开发中能把rx用起来)

响应样式编程

RxJava 简介

  • 什么是RxJava

Rxjava 是响应式的编程 简单来说就是一个观察者模式框架。通过链式的注册被观察者 把自己的事件 一条条的分别发送给各个观察者。 (同线程中 一个消息发出 所有观察者观察到消息后 observable才会发送下一个事件)

Observable
subscribe
Observer

Rx 优势

  • 性能提升

重构有一个好处就是减少switch语句的时候。但是我们在重构代码的初期为了简化一些东西的理解。为了任务功能功能清晰 在代码中 不得不做一些反复的遍历。所以初期重构后的代码减少了switch的同时可能增加了for的使用 这在前端可能没什么,但是一旦牵扯到大量的数据 就会很吃机器的算力。 所以后期重构会对for循环进行一次缩减。也就是性能上面的深度优化。而每个人处理问题的 方式方法包括类名的命名习惯等等 都是不一样的 这就造成了代码差异较大,没有统一解决途径,所以很容易就会导致 老代码bug多。更换开发人员后项目维护缓慢。等等。在这里 Rxjava的优势就显现出来了。rx通过一次遍历多次map组合的方式有效的减少for循环,且非常规范。(首先需要开发人员对rxJava非常理解)

  • 提高开发效率

如果你对Rx非常熟悉 那么效率是一定会有非常大幅度的提升。
1 响应式的编程减少了 性能重构的优化
2 通过rx内置的定时器。可以通过 interval 定时执行某个操作,通过 throttleWithTimeout 做搜索框,登录条件效验。等等你能想到的所有操作都可以通过一个操作符简单的解决。
3 rxjava链条方式的调用。一种开发的新思路。就是说我对一条数据做了一些操作。但是有一天我需要做一个类似的需求,这时候我们只要把链中间截取我们需要的部分。在新方法中对接上即可。因为rx每个链条返回的都是observable。当然这种好处是微不足道的。而且需要你对业务有清晰的认识。

  • 造好的线程轮子

在这个轮子下 你可以。合并流 多线程合并 线程切换 合并发送事件。。。
。。。rxjava 每个操作符都有它的优点。每个操作符都不会无缘无故的存在。只要你能很方便的用起来。 它!就是优点。

Rx原理

在这里插入图片描述

到此
在这里插入图片描述

看到 35行的代码了吗?
subscribeActual()
  • 也就是说当 subscribeActual 执行的时候。我们的被订阅者就开始 subscribe 获取 了 CreateEmitter对象 而 CreateEmitter 对 订阅者进行了一次包装;也就是说当我们使用 subscribe 返回的 ObservableEmitter 对象其实就是在使用 CreateEmitter 而CreateEmitter 是对 观察者的一个包装 内部使用的其实就是观察者。
  • subscribeActual 的时机是何时呢?
  • 回到开始的点
  • 在这里插入图片描述
    在这里插入图片描述
    ok 直接返回那就好办了。也就是说后续我们的subscribe 就是直接 使用了 ObservableCreate 的方法。既然发现了就到 这个对象里面翻一番吧!可以之前翻过了ObservableCreate 里面没有 subscribe 那好去基类看看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值