Materialize
將數(shù)據(jù)項和事件通知都當(dāng)做數(shù)據(jù)項發(fā)射,Dematerialize
剛好相反。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/materialize.c.png" alt="materialize" />
一個合法的有限的Obversable將調(diào)用它的觀察者的onNext
方法零次或多次,然后調(diào)用觀察者的onCompleted
或onError
正好一次。Materialize
操作符將這一系列調(diào)用,包括原來的onNext
通知和終止通知onCompleted
或onError
都轉(zhuǎn)換為一個Observable發(fā)射的數(shù)據(jù)序列。
RxJava的materialize
將來自原始Observable的通知轉(zhuǎn)換為Notification
對象,然后它返回的Observable會發(fā)射這些數(shù)據(jù)。
materialize
默認(rèn)不在任何特定的調(diào)度器 (Scheduler
) 上執(zhí)行。
http://wiki.jikexueyuan.com/project/rx-docs/images/operators/dematerialize.c.png" alt="dematerialize" />
Dematerialize
操作符是Materialize
的逆向過程,它將Materialize
轉(zhuǎn)換的結(jié)果還原成它原本的形式。
dematerialize
反轉(zhuǎn)這個過程,將原始Observable發(fā)射的Notification
對象還原成Observable的通知。
dematerialize
默認(rèn)不在任何特定的調(diào)度器 (Scheduler
) 上執(zhí)行。