RxJava概叙

Posted 安卓笔记侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RxJava概叙相关的知识,希望对你有一定的参考价值。

android开发者的 RxJava 详解:http://gank.io/post/560e15be2dca930e00da1083

 

响应式编程是一种异步数据流交互的编程范式,而RxJava就是基于事件操作异步数据流在Java上实现的库
核心的理念是将一切都当做数据流来看待,各种变量,用户输入,数据结构,缓存等等
而Rx库提供了高度抽象的函数来操作流,创建、流入流出、过滤、合并、映射等等各种变换
不仅如此,Rx库还使得异步操作,和错误处理变得非常简洁。


使用了RxJava后明显的好处就是
1解决了回调地狱(就是很多层的回调嵌套)的困扰
2切换线程变得方便
3配合Java8的新特性Retrolambda,代码会进一步简洁
更深层次的优势是,加深代码的抽象,使得我们更专注于业务逻辑而不是具体实现细节
并且事件驱动型的系统可以解耦成多个组件,使代码具有更好的扩展性和容错性


但是也有一些难处
1要用好响应式编程,就得训练好基于流的编程思维,而这与过去有着较大的差异
这会导致重构过去的代码难度较大,以及常常会因为思维转变得不纯粹而写出“半成品”
2由于Rx库的操作符高度抽象,使用是很方便但深入理解的成本会很高
3由于Rx库很抽象,很年轻,使用时会有许多需要留意的坑,加上Retrolambda会带来一些性能上的影响















以上是关于RxJava概叙的主要内容,如果未能解决你的问题,请参考以下文章

RxJava系列6(从微观角度解读RxJava源码)

RxJava使用详解

Android RxJava使用介绍 RxJava的操作符

RxJava核心思想(看懂再学RxJava)

Rxjava 整理(未完)

深入浅出RxJava