RxJava 2.0,我来了

先扯几句

作为响应式编程牛逼的开源库RxJava已经火了好久了,后被移植到很多平台比如RxAndroid,最近一段时间才对它做了一些了解,我相信好多新手的在接触这块内容的时候,都看过这篇文章:
给 Android 开发者的 RxJava 详解
没错,就是扔物线大神写一篇文章,这篇文章对整个RxJava的使用,原理都做了比较详细的阐述,不过文章是真的长啊!需要花费较长的时间阅读和理解!
然而,在我要用它的时候,发现ReactiveX 在10月29号发布了正式版RxJava 2.0.0,现在已经有了小版本的更新到2.0.1,我又懵逼了,里边改了好多东西,对于一个入门小白来说,简直就是黑人问号???
这篇文章就从2.x版本讲一下用法,不过还是强烈推荐阅读上面的文章(1.x版本),毕竟再怎么变,它的实现原理和思路都是不变的!

我的理解

看完上面的那篇文章,我们至少要对RxJava有一个认知,为什么它这么强大,简单的说,有以下三点:

①异步

这里主要就是两个比较核心的方法subscribeOnobserveOn这两个方法都传入一个Scheduler对象,subscribeOn指定发射事件的线程,observeOn指定消费事件的线程。

②强大的操作符

提供了一系列的转换操作符,如map(),flatMap(),filter(),merge(),concat(),lift(),compose()等操作符可以将事件序列中的对象或整个序列进行加工处理,转换成不同的事件或事件序列,然后再发射出去!

③链式调用

链式调用最大的好处就是逻辑清晰,代码简洁!在应对较复杂的逻辑的时候,也能展现出清晰的思路!相反如果我们的代码在写一些复杂的逻辑的时候,各种嵌套,正如文章中戏称:迷之缩进,确实如此!

简介

RxJava2 是遵循 Reactive Streams Specification 的规范完成的,新的特性依赖其提供的4个基础接口。分别是
PublisherSubscriberSubscriptionProcessor
另外一直强调出现一个词Backpressure(背压),又懵逼了!这个背压是什么鬼?!这里有官方文档对背压的解释:
Backpressure
英文好的童鞋可以看上面的官方的文档,当然这里也找到一篇译文:
RxJava 2.0中backpressure(背压)概念的理解

然后,我们说一下2.x版本和1.x的区别,同样的这里有官方的文档可以看:
What’s different in 2.0
我也找到了一篇译文,可以参考一下:
RxJava 2.0有什么不同(译)

好了,本篇博客先到这里了,介绍了一下比较核心的东西,还有2.x版本的一些相关内容和区别!毕竟也是小白一枚,在下篇博客再共同学习RxJava2.x的用法!

你可能感兴趣的:(RxJava)