RxJava 1.x Observable分析

RxJava 1.x 简单、粗暴的划分,可以分为两类:

-可观察类数据 Observable (也就是被观察的数据)
-非可观察数据

为什么这么分呢?
首先、Observable 是业务逻辑启动的入口。
其次、在整个RxJava 1.x中,Observable 相关类数量很少,功能比较集中。

这篇文章主要介绍 :可观察类数据 Observable !

可观察类数据 Observable 对应一个同名的 Observable 类。

下图是 Observable家族的全部成员。除了Subject这个类的子类,没有列出,因为Subject这个类比较特殊。

这里写图片描述

1、类属性

Observable只包含了一个final OnSubscribe类型的属性。

final OnSubscribe<T> onSubscribe;

这个属性只能在Observable的唯一构造方法中赋值。

protected Observable(OnSubscribe<T> f) {
        this.onSubscribe = f;
}

Observable没有提供任何外部访问这个属性的方法,这意味着,Observable中的数据是不可改变的(immutable)。

这个数据不可改变性为提高多线程和并行运算的数据安全和无状态管理提供了基础和可能。

2、静态方法

Observable 提供了 130个静态方法;
所有静态方法返回的类型都是 Observable

3、非静态方法

Observable提供了275个非静态方法;
其中 272个是 final 类型的方法,只有3个不是final类型的。

除了6个 subscribe()方法返回的是Subscription类型,
3个forEach()方法返回的是 void,
其他方法返回的都是 Observable类型。

subscribe()
subscribe(Action1<? super T>)
subscribe(Action1<? super T>, Action1<Throwable>)
subscribe(Action1<? super T>, Action1<Throwable>, Action0)
subscribe(Observer<? super T>)
subscribe(Subscriber<? super T>)
forEach(Action1<? super T>)
forEach(Action1<? super T>, Action1<Throwable>)
forEach(Action1<? super T>, Action1<Throwable>, Action0)

Observable类在 RxJava1.3.0中包括全部注释在内,代码行数为 12817行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值