코루틴? Kotlin 코루틴은 비동기 코드를 작성할 수 있게하는 API를 제공.
단일 쓰레드 내에서 여러 개의 코루틴을 실행할 수 있기 때문에, 많은 양의 동시 작업을 처리.
메모리 절약의 장점이 있다.
코루틴은 쓰레드가 아닌 루티늘 일시 중단(suspend) 하는 방식.
jetpack 라이브러리(ACC)에서는 코루틴을 쉽게 사용할 수 있도록 각 lifecycle에 맞는 scope를 제공.
viewmodelscope: viewmodel 대상, viewmodel이 제거되면 코루틴 작업 자동 취소
class MyViewModel: ViewModel() {
init {
viewModelScope.launch {
// Coroutine that will be canceled when the ViewModel is cleared.
}
}
}
Dispatcher :어떤 쓰레드에서 실행할 것인지에 대한 동작.
- main : 메인 쓰레드로, ui 작업을 위해 사용 , ui를 구성하거나 livedata를 업데이트 할 때 사용
- io: 네트워크 , 디스크 i/o 실행, retriofit 네트워크 통신
- default : cpu사용량이 많은 무거운 작업 처리에 최적화 되어 있음.
'안드로이드' 카테고리의 다른 글
[안드로이드] Kotlin 고차함수& Lambda (0) | 2022.03.28 |
---|---|
[안드로이드] Kotlin 범위 지정 함수(let, with, run, apply, also) (0) | 2022.03.27 |
[Android] 코틀린의 enum class & Sealed class (0) | 2021.10.07 |
[안드로이드] 안드로이드 coroutine 살펴보기 (0) | 2021.07.19 |
[안드로이드] 안드로이드 프로젝트 구조/ 초기 패키지 구조 설정하기 (0) | 2021.06.28 |