- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
和 有什么区别?共享流 和 状态流 ?
以及如何在 中使用这些MVI 建筑学?使用简单 更好吗?流量 还是这些状态和事件?
最佳答案
Flow 很冷!,这意味着它仅在收集数据时才发出数据。
Flow 也不能保存数据,将其视为水在其中流动的管道,flow 中的数据仅流动,而不是存储(没有 .value 函数)。
与 flow 不同,stateflow 和 sharedflow 是热流,这意味着即使没有收集器,它们也会发出数据。此外,如果有多个收集器,将为每个收集器运行一个新流程,彼此完全独立。
SharedFlow 和 StateFlow 是允许在多个收集器之间共享自身的流,因此只有一个流有效地为所有同时的收集器运行。如果你定义了一个访问数据库的 SharedFlow,它被多个收集器收集,那么数据库访问只会运行一次,结果数据将共享给所有收集器。
SharedFlow 和 StateFlow 有什么区别?
状态流
Stateflow takes an initial value through constructor and emits it immediatelywhen someone starts collecting.Stateflow is identical to LiveData.LiveData automatically unregisters the consumer when the view goes to the STOPPEDstate. When collecting a StateFlow this is not handled automatically , you canuse repeatOnLifeCyCle scope if you want to unregister the consumer on STOPPEDstate.If you want current state use stateflow(.value).
共享流
StateFlow only emits last known value , whereas sharedflow can configure how manyprevious values to be emitted.If you want emitting and collecting repeated values , use sharedflow.
关于android - SharedFlow 和 StateFlow 的主要区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66162586/
我有一个生成消息的 JMS 队列。我想与多个 Kotlin 消费者共享这些消息,但前提是连接了 Kotlin 消费者。如果 Kotlin 消费者仅激活 5 分钟,它应该只在该窗口内接收消息。 Kotl
在我的 ViewModel 中,我发出 API 请求并使用 StateFlow 和 SharedFlow 与 fragment 通信。在发出 API 请求时,我可以轻松地更新状态流的值并成功收集到 f
我有一个 SharedFlow .当ViewModel已创建,我将值更改为 Val1 .之后,我使用 viewModelScope对 3 seconds 进行一些虚假的延迟然后将值更改为 Val2 .
我试图使用 sharedFlow 将事件从 UI 传递到 viewModel 这是我的 View 模型类 class MainActivityViewModel () : ViewModel() {
我有一个使用三个 LiveData 源的 MediatorLiveData。当它们中的任何一个发出一个新值并且我每个都有一个时,我使用这三个值来生成 UI 的输出。 其中两个来源是关于如何对列表进行排
和 有什么区别?共享流 和 状态流 ? 以及如何在 中使用这些MVI 建筑学?使用简单 更好吗?流量 还是这些状态和事件? 最佳答案 Flow 很冷!,这意味着它仅在收集数据时才发出数据。 Flow
我第一次潜入 Kotlin Flow,我想知道 ViewModel 是否还有一席之地。 ViewModel 的优势在于它具有生命周期感知能力,并且会在 Activity 被销毁时自动取消对 ViewM
我有一个具有以下属性的 android viewmodel 类 private val _trainingNavigationEvents = MutableSharedFlow(replay = 0
嘿,我正在学习 kotlin 中的流程。我正在学习 可变状态流 和 可变共享流 .我努力学习 可变状态流 在现实世界的例子中。但我无法获得 可变共享流 例如,它更适合哪个地方。我尝试了一些 可变状态流
我正在合并两个 SharedFlows,然后执行一个长时间的工作操作。 一开始,我知道状态,所以我为两个流发出一个“起始值”。之后,用户可以发送到任一流。 这两个流大多是独立的,但在特定情况下,用户可
我读过类似的主题,但找不到正确的答案: How to end / close a MutableSharedFlow? Kotlin Flow: How to unsubscribe/stop Sta
我是一名优秀的程序员,十分优秀!