override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
scope = CoroutineScope(Dispatchers.IO)
job = scope.async {
Log.e("TAG", "enter")
while (isActive) {
Log.e("TAG", "$isActive Do something")
}
}
}
override fun onStop() {
super.onStop()
job.cancel()
}
我需要在作业中执行一些无限循环,并且我想在此活动关闭时取消作业。
因此,我尝试在onStop()方法中使用job.cancel
。但是循环继续,仍然输出“ true,执行某些操作”
我知道可以用Thread或ThreadPool代替它,但是有什么方法可以用kotlin coroutine来解决