Остановка заданий в onCleared из ViewModel после завершения действия показывает JobCancellationException: задание отменяется и сохраняет сбой при зависании приложения:
Мой код внутри ViewModel:
private val job = SupervisorJob()
private val uiScope = CoroutineScope(Dispatchers.Main + job)
uiScope.launch {
try {
repeat(152212000001) { it ->
try {
Log.d("Timer : ", it)
delay(1000)
} catch (e: Exception) {
e.printStackTrace()
}
}
} catch (e: CancellationException) {
e.printStackTrace()
}
}
Inside ViewModel:
override fun onCleared() {
job.cancel()
super.onCleared()
}