问题
学习和使用了两年多的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 学习笔记