Rxjava的線程切換與異步操作
Rxjava的線程切換與異步操作
傳統Android開發中,我們可以透過Handler/Thread等方式來做異步操作,那在RxJava中,假設我們想要做Thread的切換我們應該怎麼做呢?基本上是透過 observeOn
與 subscribeOn
這兩個操作符,去實作所謂的線程切換與異步操作。
observeOn 與 subscribeOn 。
什麼是 observeOn
:
specify the Scheduler on which an observer will observe this Observable
指定一個觀察者在特定的 Scheduler 上觀察這個 Observable 。
什麼是 subscribeOn
:
specify the Scheduler on which an Observable will operate
指定這個 Observable 自身在哪一個特定的 Scheduler 上操作。
1 |
|
以上面的代碼為例子,map的操作符會在newThread做操作,doOnSubscribe/doOnNext 都會在 mainThread做操作,透過這樣兩個簡單的操作符可以很簡單的去做Rxjava的線程調度。