Android Kotlin : GlobalScope와 CoroutineScope
2022. 10. 22. 18:56ㆍ[Android APP] feat. Kotlin/Kotlin 공부
개요
Coroutine을 처음 사용할 때 아무것도 모르고 GlobalScope를 사용했다가 액티비티를 이동해도 API 호출이 끝나지 않고 백그라운드에서 계속 돌아가는 오류가 생겼었다.
본문
GlobalScope
- Application이 종료될 때 까지 존재하는 코루틴이다.
- Activity가 종료되어도 존재하는 코루틴이다.
- 싱글톤으로 만들어져 있어 잘못 활용하면 앱을 강제종료 시킬 수 있다.
job = GlobalScope.launch(Dispatchers.IO) {
//코드 내용
job.join()
}
job.cancel()
CoroutineScope
- 각각의 Life Cycle을 가지고 있다.
- 사용자가 Life Cycle을 용도에 맞게 맞춰줄 수 있다.
job = CoroutineScope(Dispatchers.IO).launch{
//내용
job?.join()
}
job?.cancel()
반응형
'[Android APP] feat. Kotlin > Kotlin 공부' 카테고리의 다른 글
Android : Kotlin Retrofit 동기 처리 (0) | 2022.11.02 |
---|---|
Android Kotlin : 안드로이드 Activity 생명 주기 (0) | 2022.10.22 |
Android Kotlin : MultiPart를 이용해 서버로 파일 보내기 (2) | 2022.09.21 |
Android Kotlin : MVVM, MVP, MVC 디자인 패턴이란 무엇일까? (0) | 2022.09.20 |
Android Kotlin : Coroutine과 Thread (0) | 2022.09.15 |