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