RxJava简介基本组成基本使用分别定义Observable的变形Observer的变形连续定义Scheduler线程分类线程使用Scheduler原理Scheduler使用变换 RxJava简介RxJava可以看做是观察者模式的升级,使用RxJava的目的主要是为了数据异步处理。相比于Handler来说,优点就在于简洁,逻辑上非常简单明了。基本组成由Observable、Observer、Su
转载 3月前
29阅读
还是百度前端技术学院的“任务十九”可视化排序算法的题,在写出快速排序算法之后,要求用动画的形式把这个排序过程呈现出来。排序过程在CPU里不过是瞬间的事,但要转换成“缓慢的”动画效果给人类看,就不得不把这个过程速度降下来。首先想到的是,Javascript有没有像C++、Java那样提供Sleep函数?答案是:没有。因为Javascript是单线程语言,一旦Sleep,整个程序就阻塞住了,浏览器也将
转载 4月前
45阅读
概述在 RxJava 中可以通过 subscribeOn/observeOn 很方便地完成上下游指定线程的切换,日常开发除了一些常用的Rx 操作符外,这两个方法也是打交道最多的。最初学习 RxJava 的时候总是死记硬背:subscribeOn 用于指定上游线程,observeOn 用于指定下游线程,多次用 subscribeOn 指定上游线程只有第一次有效,多次用 observeOn 指定下次线
一 前言基于RxJava2.1.1 我们在前面的 Rxjava 2 的源码解析初步分析了RxJava从创建到执行的流程,分析了RxJava的随意终止Reactive流的能力的来源;也明白了RxJava的onComplete();与onError(t);只有一个会被执行的秘密。RxJava2.X 源码分析(二)中探索了RxJava2调用subscribeOn切换被观察者线程的原理。 本次我们将继续探
Rxjava2常见的功能性操作符有如下的一些:  废话不多说, 直接代码开路:1.subscribe() //功能性操作符 //subscribe()功能是连接被观察者Observable和观察者Observer 之间的桥梁 //创建被观察者对象Observable Observable<Integer> o
observeOn和subscribeOn都是对observable的一种操作,区别就是subscribeOn改变了observable本身产生事件的schedule以及发出事件后相关处理事件的程序所在的scheduler,而obseveron仅仅是改变了对发出事件后相关处理事件的程序所在的scheduler。或许你会问,这有多大的区别吗?的确是有的,比如说产生observable事件是一件费时可
原创 2022-12-16 15:39:07
424阅读
RxJava很优势的一个方面就是他的线程切换,基本是依靠ObserveOn和SubscribeOn这两个操作符来完成的。先来看看什么是ObserveOn和SubscribeOn,官方对他们的定义是这样的:ObserveOnspecify the Scheduler on which an observer will observe this Observable 指定一个观察者在哪个调度器上观察这
ReactiveX/RxJava: RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.https://github.com/ReactiveX/RxJav
转载 2023-07-21 15:39:41
42阅读
前言16年 的时候写过两篇关于Rxjava 1.0 的源码分析,时过境迁,现在早已是2.0 了。2.0 的代码逻辑,封装,更为易懂,也包含了 一些新特性背压,面向切面等等。所以决定,写篇文章分析RxJava 2.0 官方文档:What’s different in 2.0RxJava github示例Rxjava的使用流程,相信大家都很清楚了,以下面这个简单的demo,重点分析一下create()
1. RxJava 的观察者模式解读RxJava 有四个基本概念:Observable (可观察者,即被观察者)Observer (观察者)subscribe (订阅)事件 Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 ObserverAndroid 常见的观察者模式: 与
ReactiveX/RxJava: RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.https://github.com/ReactiveX/RxJav
1.概念rxJava:异步的框架. 类似于 AsyncTask. 但其灵活性和扩展性远远强于前者,扩展的观察者模式实现的,何为观察者模式:观察者模式是一种一对多的依赖关系,当一个对象改变状态时,它会通知所有依赖者接受通知,并决定数据是否改变。2.原理rxJava中涉及到4个概念:Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。O
RxJava 1xRxJava 1x的四种基本角色热的冷的 ObservablesSubject Observable ObserverPublishSubjectBehaviorSubjectReplaySubjectAsyncSubjectUnicastSubjectSerializedSubjectGitHub示例 RxJava 1.xRxJava扩展了观察者模式的语义,添加了两个新的操作
转载 3月前
28阅读
#前言 年底了换工作,在很多公司的面试中都有提到对RxJava运用,在以前我就只是简单的使用Retrofit +RxJava+OkHttp的运用,自己也没有深入的理解其中的,现在自己相对于再一次学习,并进行记录;##RxJava 的观察者模式 RxJava 有四个基本概念:Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。Obse
1. ObservableRxJava 的使用通常需要三步创建 Observable Observable 的字面意思是被观察者,使用 RxJava 时需要创建一个被观察者,它会决定什么时候触发事件以及触发怎样的事件。有点类似上游发送命令,可以在这里决定异步操作模块的顺序和异步操作模块的次数。创建 Observer Observer 即观察者,它可以在不同的线程中执行任务。这种模式可以极大地简化并
RXjava 中的observeOn subscribeOn 两个函数十分类似,相信很多人在使用时会有疑问。官方文档的说明,包括图片不是那么容易理解,特此立翻译贴一篇。官方文档解释如下地址:http://reactivex.io/documentation/operators/observeon.htmlhttp://reactivex.io/documentation/operator
先看用法: 在一个子线程中创建一个Observable发射,Observer接受数据的全过程,执行看看Log信息:可以看到onSuscribe,subscribe,onNext执行分别在不同的线程源码分析首先这样的链式写法非常简洁,但是对代码分析增加困难,所在以上代码可以转换成这样: 可以看到转换成比较直观的代码调用;分别查看subscribeOn和observeOn:所以subThreadObs
本文主要讲解RxJava2的原理,不再讲解其用法和相关概念。首先我们知道,RxJava是流式编程,在每一条流中,都至少包含三个要素:源头/被订阅者(Observable或Flowable)、订阅者(Observer或subscriber)、触发时机(subscribe()方法),其次就是线程切换(subscribeOn()和observeOn()),最后就是数据操作(如map()、flatMap(
目录1、介绍1.1、subscribeOn()1.2、observeOn()2、subscribeOn()原生实现3、subscribeOn()手写实现3.1、subscribeOn()执行3.2、subscribeOn()触发4、observeOn()手写实现4.1、observeOn()执行4.2、observeOn()触发1、介绍在我们的RxJava中,不管是create() 或者map()
上篇文章我已经介绍了RxJava的基本认识,下面我来进行介绍一下RxJava的基本操作。我们先来介绍一下: 一、创建Observer Observer 即观察者,它决定事件触发的时候将有怎样的行为。 RxJava 中的 Observer 接口的实现方式:除了 Observer 接口之外,RxJava 还内置了一个实现了 Observer 的抽象类:Subscriber。 Subscriber 对
  • 1
  • 2
  • 3
  • 4
  • 5