其他操作符
timeout 如果原始 Observable 过了指定的一段时长没有发射任何数据,Timeout 操作符会以一个 onError 通知终止这个 Observable,或者继续一个备用的 Observable。 RxJava 中的实现的 Timeout 操作符有好几个变体: 1. timeout(long,TimeUnit): 第一个变体接受一个时长参数,每当原始Observabl...
timeout 如果原始 Observable 过了指定的一段时长没有发射任何数据,Timeout 操作符会以一个 onError 通知终止这个 Observable,或者继续一个备用的 Observable。 RxJava 中的实现的 Timeout 操作符有好几个变体: 1. timeout(long,TimeUnit): 第一个变体接受一个时长参数,每当原始Observabl...
RxJava 线程调度 调度器分类 RxJava 使用 subscribeOn、observeOn 和 onNext 的时候可以改变和切换线程,它们都是按顺序执行的,不是并发执行,至多也就切换到另外一个线程,如果它中间的操作是阻塞的,久会影响整个 Rx 的执行 调度器类型 作用 Schedulers....
RxJava 什么是 RxJava? 一个在 JVM 上使用可观测的序列来组成异步的、基于事件的程序的库。举个例子说明:下载一张照片,用户点击下载,弹出正在下载提示框,下载结束显示图片,关闭提示框。用 RxJava 实现简洁。和观察者模式对比:观察者设计模式,起点是被观察者,终点是观察者,一条流水线的思维,响应式编程. RxJava 原理? 构建链的阶段 subscribe...
RxJava 注意 Observable.just()、fromIterable() 的局限性 代码执行过早 使用 Observable.just() 即使你没有调用 subscribe 方法。just() 括号里面的代码也已经执行了。显然,Observable.just() 不适合封装网络数据,因为我们通常不想在 subscribe 之前做网络请求。同理,fromIterable 也...
RxLifecycle RxJava 通过线程调度器更容易控制和切换线程,种种优点,使用它的人也越来越多。但是使用不好,很容易导致内存泄露。用来严格控制由于发布了一个订阅后,由于没有及时取消,导致 Activity/Fragment 无法销毁导致的内存泄露。 引入 // RxLifecycle基础库 compile 'com.trello.rxlifecycle2:rxlifecycl...
RxJava2 应用场景 18 个 RxJava2 应用场景https://github.com/kaushikgopal/RxJava-Android-Samples RxJava 应用场景https://blog.csdn.net/johnny901114/article/details/51568562 RxJava1.x 使用场景小结 - 大头鬼https://blo...
Cold Observable 和 Hot Observable Hot Observable 无论有没有 Subscriber 订阅,事件始终都会发生。当 Hot Observable 有多个订阅者时,Hot Observable 与订阅者们的关系是一对多的关系,可以与多个订阅者共享信息。Cold Observable 只有 Subscriber 订阅时,才开始执行发射数据流的代码。并且...
create 分析 create 无其他操作符,无切换线程原理分析 看看 create 的使用案例: Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> e...
依赖注入概念 依赖注入(Dependency Injection),简称 DI,又叫控制反转(Inversion of Control),简称 IOC。简言之,目标类(需要进行依赖初始化的类)中所依赖的其他的类的初始化过程,不是通过手段编码方式创建,而是通过技术手段,把其他类已经初始化好的实例自动注入到目标类。Dagger2 就是实现依赖注入的一种技术手段。 Dagger2 实质: 就是...
parceler [TOC] https://github.com/johncarl81/parceler 背景 Parcelable 有很多冗余代码;用 Java 的 Annotation Processor 生成样板代码 基本使用 相关注解 @Parcel 如果没有设置 ParcelConverter,那么会用 value value 默认是 Serializa...