Android lifecycleScope onDestroy

    [CoroutineScope] 2. Activity에서 lifecycleScope을 사용하는 것을 주의해야 하는 이유

    lifecycleScope 사용의 한계점 lifecycleScope만을 사용해 Coroutine Job을 사용하는 것은 한계점이 있다. 바로 onDestroy 시 Job이 cancel된다는 것이다. onDestroy 시 job이 cancel 된다는 것은 백그라운드로 내려가는 onStop이 일어났을 때 여전히 Job이 수행됨을 뜻한다. 즉, Activity를 finish 시키는게 아니라. 홈버튼을 눌러 onStop만 되었더라면 Activity에서는 여전히 데이터를 수집하게 된다. 이러한 불필요한 동작은 백그라운드로 내려간 앱의 메모리 사용량을 증가시켜 시스템에 의한 Crash를 만들어낼 수도 있고, 사용자가 원치 않는 데이터 사용이 일어나도록 만들 수도 있다. lifecycleScope 문제 예시 아래와 ..