gpt4 book ai didi

android - 我一次可以观察多少个 Stateflow?

转载 作者:行者123 更新时间:2023-12-04 23:47:52 25 4
gpt4 key购买 nike

我为 Android 开发应用程序。我想知道我一次可以观察多少个 Kotlin Stateflow?每observe我所做的是在我自己创建的不同 CoroutineScope 上完成的,由 IO 调度程序调度或由 Android 框架的生命周期组件提供。
我已经完成了各种操作,例如在协程内的无限循环中进行简单的添加以及使用 Android Studio 分析器,我观察到启动大量执行计算的协程会导致 CPU 负载过高。
请记住 Stateflow 永远不会完成 ,它的每一次收集都会阻塞并在不同的 CoroutineScope 上完成,例如示例和文档所说,我一次可以观察到的最大 Stateflow 数量是多少,而不会担心我会高度使用 CPU、创建太多线程或只是用完设备资源?

最佳答案

订阅仍然是协程,协程很便宜。我们可以告诉你绝对没有普遍的界限。

every collect on it is blocking


它暂停,它不会阻塞。您可以随时使用 takeWhile或类似的只收集它,直到你可以停止,或者你可以取消正在进行收集的协程(例如使用 withTimeout )。
性能的主要限制是更新 MutableStateFlow StateFlow 的订阅者数量与时间呈线性关系,所以如果您更新 StateFlow如果有 1000 个订阅者,它会比更新 MutableStateFlow 花费大约一千倍的时间。只有一个订阅者。

关于android - 我一次可以观察多少个 Stateflow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68838866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com