Flow有很多运算符,LiveData只有3个(变换).除了StateFlow还处于实验阶段之外,还有什么理由继续使用LiveData吗?

UPD. StateFlow, SharedFlow and corresponding operators are promoted to stable API in kotlinx.coroutines 1.4.0

推荐答案

现在没有太多理由使用LiveData.(状态)流/协同 routine 还通过lifecycleScope.launchWhenCreated/Started/Resumed,带来了实时数据难以实现的新可能性.

但是,当需要LiveData时,有一个原因-数据绑定.它目前不支持观察流.

EDIT: there is going to be support for StateFlow in DataBinding in Android Studio 4.3: https://twitter.com/manuelvicnt/status/1314621067831521282

Kotlin相关问答推荐

在KMP中使用koin将来自Android的上下文注入到SQLDelight Driver中

在Kotlin 有更好的结合方式?

&x是T&q;和&q;(x为?T)!=空(&Q;)?

CompositionLocal 究竟如何以及何时隐式设置值?

collectAsState 未从存储库接收更改

Lets plot Kotlin中的多轴比例

为什么在 Kotlin 中调用私有构造函数会导致错误为无法访问 是什么?

kotlin 单例异常是好是坏?

.indices 在 kotlin 中的含义是什么?

如何使用 Findbugs 避免 kotlin 文件

Kotlin 1.2.21 + SimpleXml 2.3.0 - consume List error (must mark set get method)

在协程中等待侦听器内的数据

Gradle 同步失败:不支持的方法:KotlinPlatformContainer.supports()

调用单元测试验证伴随对象方法

片段内的 Kotlin 按钮 onClickListener 事件

如何在 Spring WebFlux 的响应正文中流式传输二进制数据

@uncheckedVariance 在 Kotlin 中?

Android 上的 Kotlin:将map到list

Kotlin Android:属性委托必须有一个 'getValue(DashViewModel, KProperty*>)' 方法

@StringRes、@DrawableRes、@LayoutRes等android注释使用kotlin参数进行判断