【发布时间】:2021-05-03 15:55:23
【问题描述】:
我想知道启动的协程何时被销毁。可能吗 ? 协程需要在 Android Application 类范围内的 Repository 类中启动,当应用程序关闭时,我需要进行一些清理。
fun doSomeWorkGlobally() {
applicationScope.launch { //Application class scope
val streamListener = object : StreamListener {
override fun dataSnapshot(val data: Data) {
dataSharedFlow.tryEmit(data)
}
}
registerToListener.register(streamListener)
//unregister callback, do clean up work when this coroutine is destroyed (?)
}
}
如果可以使用 callbackFlow 执行类似 awaitClose 的操作,那就太好了。
附:对于我的情况,callbackFlow 不是 100%,我想知道我是否可以在上面的代码中做类似的事情。
提前致谢!
【问题讨论】:
标签: android kotlin kotlin-coroutines