异步数据流处理组件,方便在异步场景下更好的处理数据流。支持背压,支持协程,能够有效避免内存泄漏等oom问题。
一个异步数据流包含:上游,操作符,下游。
冷流:只有下游开始消费,上游才开始产生数据。 热流:无论下游是否有消费,上游都会自己产生数据。StateFlow/ShareFlow
MutableStateFLow(可读可写),StateFlow(只可读)
- 值唯一
- 共享数据流
- 最新值给订阅者
- 防抖,相同值不更新数据
- 必须初始值
MutableSharedFLow(),SharedFlow()
- MutableSharedFLow没有初始值
- SharedFLow()可以保留历史数据,新的订阅者可以获取
- MutableSharedFLow发射值需要调用emit()/tryEmit(),没有setValue()