
RxJava
Time@traveler
这个作者很懒,什么都没留下…
展开
-
RxJava之Flowable背压模式
由来,主要解决上游不停的发射大量的事件,导致下游接收不过来,导致的内存泄露背压模式,用于处理大量的事件时采用(当事件超过1000个时建议采用Flowable),用于替换Observable 在2.0版本之后才有,其中Flowable的效果等同于Observable的。使用时,Observable对应的下游是Observer,Flowable对应的下游是Subscriber1. Flowable主要有四种模式 BackpressureStrategy.ERROR 上游发送大量的事件,下游阻塞,处理不原创 2020-12-11 18:35:13 · 525 阅读 · 0 评论 -
RxJava之异常操作符
使用 thrown Execption 是不标准的异常发射使用emitter.onError 是标准的RxJava的异常发射1,onErrorReturn 操作符的使用1)此操作符只能接收一个标准的异常事件,2)如果中途发生异常,则会终止上游所有的事件发射3)如果不使用异常操作符,则会直接进入下游的onError中4)该操作符发生异常时可以返回一个标识,在下游进行接收处理 Observable.create(new ObservableOnSubscribe<Integer>()原创 2020-12-10 20:01:42 · 415 阅读 · 0 评论 -
RxJava之线程切换
RxJava执行过程是一个链条式的过程,中间可以自由的切换,默认不配置线程的时,默认上下游都在主线程,事件执行也是同步执行(上游发一次,西安下游就接收一次),如果配置了线程切换,则会变成异步执行线程切换主要用到的操作符Schedulers.io():代表io操作流,网络操作,文件流,耗时操作Schedulers.newThread()常规的创建一个异步线程Schedulers.computation()代表CPU大量计算所需要的的线程AndroidSchedulers.mainThread():原创 2020-12-09 19:07:24 · 957 阅读 · 0 评论 -
RxJava之变换操作符
变换操作符即为中事件发送和接收之间,对数据进行修改类型变换等操作如图:1,map操作符的使用如下Observable.just(1,2,3) .map(new Function<Integer, String>() { @Override public String apply(Integer integer) throws Exception {原创 2020-12-07 19:16:30 · 181 阅读 · 0 评论 -
RxJava之过滤操作符的使用
过滤操作符也是在上游和下游之间插入,主要用来进行数据的过滤主要实现过程如下:1,filter操作符 Observable.just("zhan","san","li","si") .filter(new Predicate<String>() { @Override public boolean test(String s) throws Exception {原创 2020-12-04 19:58:22 · 192 阅读 · 0 评论 -
RxJava之合并型操作符的使用
合并型操作符是把多个被观察者合并到一起进行执行其中,startWith,concatWith操作符是,先创建被观察者,在进行合并,而concat,merge,zip都是直接合并多个别观察者,然后再订阅1,startWith操作符的使用执行时,先执行startWith里面的,然后执行 todo2的被观察者 Observable.create(new ObservableOnSubscribe<String>() { @Override pu原创 2020-12-03 18:46:33 · 164 阅读 · 0 评论 -
RxJava之合并操作符
合并型操作符是把多个被观察者合并到一起进行执行其中,startWith,concatWith操作符是,先创建被观察者,在进行合并,而concat,merge,zip都是直接合并多个别观察者,然后再订阅1,startWith操作符的使用执行时,先执行startWith里面的,然后执行 todo2的被观察者 Observable.create(new ObservableOnSubscribe<String>() { @Override pu原创 2020-11-19 20:01:02 · 239 阅读 · 0 评论 -
RxJava之创建操作符
上游为Obsevable,为被观察者,Observer 为观察者这些操作符主要是1,创建型操作符:Create()Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception { em原创 2020-11-19 19:58:09 · 141 阅读 · 0 评论