@@ -6,7 +6,7 @@ RxJava的精妙之处就是异步操作极其方便,也就是Schedulers的使
66## Screenshots
77
88
9- <img src =" screenshots/just.gif " width =" 22% " /> | <img src =" screenshots/just6.gif " width =" 22% " /> | <img src =" screenshots/polling.gif " width =" 22% " /> | <img src =" screenshots/rxjavaretrofit.gif " width =" 22% " />
9+ <img src =" screenshots/just.gif " width =" 22% " /> <img src =" screenshots/just6.gif " width =" 22% " /> <img src =" screenshots/polling.gif " width =" 22% " /> <img src =" screenshots/rxjavaretrofit.gif " width =" 22% " />
1010
1111
1212## 详解 (Details Explain)
@@ -38,45 +38,39 @@ RxJava的精妙之处就是异步操作极其方便,也就是Schedulers的使
3838
3939
4040#### 1. 基本使用
41- <img src =" screenshots/just.png " width =" 61% " />
42- < img src = " screenshots/just.gif " width = " 34% " />
41+ <img src =" screenshots/just.png " width =" 61% " /> < img src = " screenshots/just.gif " width = " 34% " />
42+
4343 <img src =" screenshots/justp.png " width =" 96% " />
4444
4545#### 2. 使用 subscribeOn(Schedulers.io())设置被观察者的线程
46- <img src =" screenshots/just1.png " width =" 61% " />
47- <img src =" screenshots/just1.gif " width =" 34% " />
46+ <img src =" screenshots/just1.png " width =" 61% " /> <img src =" screenshots/just1.gif " width =" 34% " />
4847 <img src =" screenshots/just1p.png " width =" 96% " />
4948 > 以下几个例子中看不出被观察者发生在什么线程,使用Observeble.create()创建被观察者可以看出发生在什么线程,可参看源码中的其它Demo。
5049
5150#### 3. 使用 subscribeOn(Schedulers.io()) 和 observeOn() 设置被观察者和观察者的线程
5251
53- <img src =" screenshots/just2.png " width =" 61% " />
54- <img src =" screenshots/just2.gif " width =" 34% " />
52+ <img src =" screenshots/just2.png " width =" 61% " /> <img src =" screenshots/just2.gif " width =" 34% " />
5553 <img src =" screenshots/just2p.png " width =" 96% " />
5654
5755#### 4. 使用Schedulers.io()指定被观察者产生事件的线程,然后使用Map对数据转换,这里只是在每个数据后面加‘a’。
5856
59- <img src =" screenshots/just3.png " width =" 61% " />
60- <img src =" screenshots/just3.gif " width =" 34% " />
57+ <img src =" screenshots/just3.png " width =" 61% " /> <img src =" screenshots/just3.gif " width =" 34% " />
6158 <img src =" screenshots/just3p.png " width =" 96% " />
6259
6360
6461#### 5. 使用Schedulers.io()指定被观察者产生事件的线程,使用Map对数据转换,在每个数据后面加‘a’,使用AndroidSchedulers.mainThread()切换到主线程,然后使用Map变换,每个数据后加‘b’,输出结果。
6562
66- <img src =" screenshots/just4.png " width =" 61% " />
67- <img src =" screenshots/just4.gif " width =" 34% " />
63+ <img src =" screenshots/just4.png " width =" 61% " /> <img src =" screenshots/just4.gif " width =" 34% " />
6864 <img src =" screenshots/just4p.png " width =" 96% " />
6965
7066#### 6. 使用Schedulers.io()指定被观察者产生事件的线程,使用Map对数据转换,在每个数据后面加‘a’,使用AndroidSchedulers.mainThread()切换到主线程,然后使用Map变换,每个数据后加‘b’,再用Schedulers.io()切换线程,用Map对数据加‘c’,输出结果。
7167
72- <img src =" screenshots/just5.png " width =" 61% " />
73- <img src =" screenshots/just5.gif " width =" 34% " />
68+ <img src =" screenshots/just5.png " width =" 61% " /> <img src =" screenshots/just5.gif " width =" 34% " />
7469 <img src =" screenshots/just5p.png " width =" 96% " />
7570
7671#### 7.这个例子不同的是使用了两次subscribeOn()来指定被观察者的线程,最终最上面的subscribeOn()起作用,下面的subscribeOn()不起作用。然后使用Map对数据转换,这里只是在每个数据后面加‘a’,使用Schedulers.io()切换线程,然后使用Map变换,每个数据后加‘b’,再用AndroidSchedulers.mainThread()切换主线程,用Map对数据加‘c’,最后再切换到非主线程,输出结果。
7772
78- <img src =" screenshots/just6.png " width =" 58% " />
79- <img src =" screenshots/just6.gif " width =" 34% " />
73+ <img src =" screenshots/just6.png " width =" 58% " /> <img src =" screenshots/just6.gif " width =" 34% " />
8074 <img src =" screenshots/just6p.png " width =" 96% " />
8175
8276> 最终发现设置被观察者的线程只有最上面的起作用,下面的不起作用。
0 commit comments