WhileSubscribed战略会在没有网络器的环境下取消上游数据流,通过shareIn运算符创建的SharedFlow会把数据暴露给视图 (View),同时也会观察来自其他层级大概是上游应用的数据流。
让这些流连续活泼可能会引起不必要的资源浪费,比方不绝通过从数据库连接、硬件传感器中读取数据等等。当您的应用转而在背景运行时,您应当保持克制并制止这些协程。
public fun WhileSubscribed( stopTimeoutMillis: Long = 0, replayExpirationMillis: Long = Long.MAX_VALUE)如上所示,它支持两个参数:
Google 保举在 MVVM 架构中利用 Kotlin Flow
Migrate from LiveData to StateFlow and SharedFlow
从 LiveData 迁移到 Kotlin 数据流
关于kotlin中的Collections、Sequence、Channel和Flow (二)