RxJava 2.x 理解-2】的更多相关文章

背压:Flowable / Subscriber 在RxJava 1.x 理解 中,没有讲到背压这个概念,是因为学习太落后了,RxJava都出2了,所以直接在2上学. 背压是下游控制上游流速的一种手段.在rxjava1.x的时代,上游会给下游set一个producer,下游通过producer向上游请求n个数据,这样上游就有记录下游请求了多少个数据,然后下游请求多少个上游就给多少个,这个就是背压.一般来讲,每个节点都有缓存,比如说缓存的大小是64,这个时候下游可以一次性向上游request 64…
在RxJava 1.x 系列中,讲解了RxJava的大致用法,因为现在都用RxJava 2了,所以Rxjava 1就不细讲,主要来学习RxJava 2. 基本使用: /** * rajava2 的基本使用 */ private void rxJava2BaseUser() { Observable .create(new ObservableOnSubscribe<String>() { @Override public void subscribe(@NonNull ObservableEm…
在 RxJava 1.x 理解-1 中,我们说到了RxJava的简单用法,但是这还远远不够,因为 输入的数据 ---> 被监听者(订阅源)对这些数据进行操作,或者执行响应的处理 --> 产生新的数据,或者事件发送给监听者 --> 监听者执行自己的方法. 其中,RxJava还可以对输入的数据进行变换,产生新数据(可以是复杂的数据),而不是简单的事件触发. 先将数据的提供,进阶一下: rxJava just 使用 /** * rxJava just 使用 * just --> 还是使用…
给RxJava 加入线程控制 -- Scheduler 在 RxJava 1.x 理解-1 中,我们说到了RxJava的简单用法,但是这还远远不够,因为这简单用法是在同一个线程中使用的.比如我们需要在子线程中进行耗时操作,在Android 主线程中进行UI操作,这样才不会导致卡顿的发生. 先上代码: Observable .create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<…
操作符总结: http://reactivex.io/documentation/operators.html https://github.com/ReactiveX/RxJava/wiki Operators By Category Creating Observables : 创建 Operators that originate new Observables. Create — create an Observable from scratch by calling observer…
先看下别人实现的最基本的RxJava的实现方式: 在RxJava里面,有两个必不可少的角色:Subscriber(观察者) 和 Observable(订阅源). Subscriber(观察者) Subsribler在RxJava里面是一个抽象类,它实现了Observer接口. public interface Observer<T> { void onCompleted(); void onError(Throwable t); void onNext(T var1); } 为了尽可能的简单,…
转载请注明出处:http://www.blog.csdn.net/zhyxuexijava/article/details/51597230.com 前段时间看了MVP架构和RxJava,最近也在重构一些项目(MVC架构),于是写一个简单的例子,好了,废不多说了,入坑开始. 一.RxJava是什么? GitHub([https://github.com/ReactiveX/RxJava])(https://github.com/ReactiveX/RxJava)上是这样解释的: RxJava i…
一.泛型的作用与定义 1.1泛型的作用 使用泛型能写出更加灵活通用的代码泛型的设计主要参照了C++的模板,旨在能让人写出更加通用化,更加灵活的代码.模板/泛型代码,就好像做雕塑时的模板,有了模板,需要生产的时候就只管向里面注入具体的材料就行,不同的材料可以产生不同的效果,这便是泛型最初的设计宗旨. 泛型将代码安全性检查提前到编译期泛型被加入Java语法中,还有一个最大的原因:解决容器的类型安全,使用泛型后,能让编译器在编译的时候借助传入的类型参数检查对容器的插入,获取操作是否合法,从而将运行时C…
必读的 Android 文章 掘金官方 关注 2017.06.07 13:58* 字数 25218 阅读 8782评论 2喜欢 218 写给 Android 开发者的混淆使用手册 - Android - 掘金本文转自:点击打开链接 毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆. 首先,这里说的的混淆其实是包括了代码压缩.代码混淆以及资源压缩等的优化过程.依靠 ProGuard,混淆流程将主项目以及依赖库中未... 高效Android开发者的工具…
1.Retrofit+OkHttp的缓存机制 1.1.第一点 在响应请求之后在 data/data/<包名>/cache 下建立一个response 文件夹,保存缓存数据. 1.2.第二点 这样我们就可以在请求的时候,如果判断到没有网络,自动读取缓存的数据. 1.3.第三点 同样这也可以实现,在我们没有网络的情况下,重新打开App可以浏览的之前显示过的内容. 1.4.第四点 也就是:判断网络,有网络,则从网络获取,并保存到缓存中,无网络,则从缓存中获取. 1.5.github地址+参考文章 g…