Coroutine2 [Kotlin] MutableSharedFlow의 tryEmit()이 실행되지 않을 때 SharedFlow는 코루틴에서 쉽게 사용할 수 있는 Hot Stream입니다. 안드로이드에서는 뷰모델에서 이벤트 처리할 때 자주 사용합니다. 이번에 MutableSharedFlow를 사용하며 tryEmit()이 실행되지 않는 이슈가 있었고, 이에 대한 내용을 공유해보고자 합니다. 아래에 예시 코드는 뷰모델에서 특정 이벤트를 발생시켜 액티비티에서 이벤트를 처리해주는 코드입니다.class MainViewModel @Inject constructor() : ViewModel() { private val _event = MutableSharedFlow() val event = _event.asSharedFlow() fun doSomething() { _event.tryE.. 2022. 7. 3. [Android] Kotlin Coroutine 기본 개념 익히기 Coroutine이란? 안드로이드에서 비동기 프로그래밍을 하기 위해선 AsyncTask나 Rx 등 여러 솔루션들이 있습니다. 코루틴 역시 비동기 프로그래밍을 하기 위해 나온 개념입니다. 코루틴을 이용하면 메모리를 효율적으로 사용하면서 손쉽게 비동기 처리를 할 수 있습니다. 코루틴은 코틀린 언어의 하위 개념이 아닌, 오래전부터 C#, Python, Go 등의 다양한 언어에서 지원하고 있던 개념입니다. 코루틴은 Co + Routines의 약자로써 Co는 Cooperation, Routines은 functions을 의미합니다. 즉, 서로 협력하는 함수들이라는 의미로, 여러 함수들이 번갈아가면서 실행되어 비동기적인 프로그래밍이 가능합니다. 코루틴은 흔히 경량 스레드라고 불립니다. 코루틴은 스레드 위에서 실행되는.. 2021. 7. 29. 이전 1 다음