問題
學習和使用了兩年多的RxJava,一直側重於操作符的使用,在實際項目中只有跟Retrofit結合進行網絡數據的獲取上,App其它地方很少用到。Observable的冷熱 也是一直忽略的概念。
冷Observable:subscribe(訂閱)時發射數據,無論何時訂閱,它都將爲每個訂閱者生成相同的數據序列。
熱Observable:connect時發射數據,所有訂閱者將同時收到相同的數據,即共享數據
connect:
autoConnect:
publish:通常使用publish操作符將Cold Observable變爲Hot Observable。
replay:connect時開始收集值。一旦新的觀察者訂閱了Observable,它就會將所有收集的值 重放到它上面。一旦它趕上,它將與其他觀察者並行接收值。
refCount:
publish().refCount() = share()
參考
擁抱RxJava(三):關於Observable的冷熱,常見的封裝方式以及誤區
冷熱可觀察量RxJava 學習筆記