恢复而不是重新启动流收集?

问题描述

当给定的屏幕处于活动状态时,我有一个Flow<ScreenState>收集。

屏幕变为非活动状态后,收集停止。

当屏幕再次变为活动状态(如何继续而不是重新启动)时,如何恢复收集? 例如。如果我的流量是0-100的计数器;在我当前的情况下,它将在每次屏幕变为活动状态时从0重新开始,我希望它从暂停之前的最后一个发出的值继续。

fun start() {
    job?.cancel()
    job = task?.let { task ->
        manager.execute(
            task,dispatcher
        )
    }
}

fun stop() {
    job?.cancel()
    job = null
}

//Manager.execute
fun <Message> execute(
    task: Task<Message>,dispatcher: Dispatcher<Message>
): Job {
    return scope.launch {
        task.toFlow().collectLatest { message ->
            dispatcher(message)
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...