Android 协同程序处理程序样行为
在我的应用程序的一部分中,我将runnable发布到一个处理程序,然后Android 协同程序处理程序样行为,android,kotlin,kotlinx.coroutines,Android,Kotlin,Kotlinx.coroutines,在我的应用程序的一部分中,我将runnable发布到一个处理程序,然后run()中的代码执行并使用postDelayed()将相同的runnable发布到处理程序。这会创建类似于循环的东西。这种行为可以通过协同程序实现吗?我试着使用这个频道,但没能让它工作 这种行为可以通过协同程序实现吗 是的,而且以一种几乎令人尴尬的直截了当的方式: launch(UI) { while (!done()) { // loop body delay(loopDelayMi
run()
中的代码执行并使用postDelayed()
将相同的runnable发布到处理程序。这会创建类似于循环的东西。这种行为可以通过协同程序实现吗?我试着使用这个频道,但没能让它工作
这种行为可以通过协同程序实现吗
是的,而且以一种几乎令人尴尬的直截了当的方式:
launch(UI) {
while (!done()) {
// loop body
delay(loopDelayMillis)
}
}
谢谢,当一条或多条消息具有这种循环行为时,有没有一种方法可以处理多条消息?是的,所有的循环都将在UI线程上“并发”运行,即它们各自的迭代将是交错的<当然,code>delay()是一种挂起而不是阻塞方法。使用actor不是可以实现这一点吗?我想向它发送“命令”,其中包含一个when分支来决定每个命令的作用。演员本身会在一个分支中(只有一个命令具有这种期望的行为)发送相同的命令,但会延迟。我不太理解你的描述,我对Kotlin演员的经验也少得多。我的答案与你的问题有关。无论如何,谢谢你,如果我发布一些示例代码会有帮助吗?