Coroutines
-
Kotlin Flow에서의 Debounce와 Throttle 기법안드로이드 2025. 3. 25. 22:25
Kotlin에서는 Flow를 활용하여 비동기적으로 이벤트를 처리할 수 있으며, 이벤트가 지나치게 자주 발생하는 경우 이를 제어하는 다양한 기법이 필요합니다. Debounce와 Throttle은 이러한 상황에서 유용하게 사용되는 기법으로, 불필요한 작업을 줄이고 성능을 최적화하는 데 큰 도움이 됩니다. 본 글에서는 이 두 기법의 개념과 이를 Kotlin Flow에서 어떻게 적용할 수 있는지에 대해 살펴보겠습니다. 1. Debounce와 Throttle 기법이란?DebounceDebounce는 연속된 이벤트 중 마지막 이벤트만 실행되도록 처리하는 기법입니다.일정 시간 동안 추가적인 이벤트가 발생하지 않으면, 그때서야 마지막 이벤트를 처리하게 됩니다.즉, 빠르게 발생하는 여러 이벤트 중에서 마지막 이벤트를 처..
-
Maverick - MVI Framework 톺아보기안드로이드 2025. 1. 14. 21:59
Mavericks - MVI Framework개별적인 상태 속성을 노출하는 대신, 하나의 불변 데이터 클래스를 사용해 뷰모델을 업데이트하고 UI를 렌더링 합니다.Airbnb 오픈소스로 만든 MVI 프레임워크로 상태관리를 쉽게 처리하기 위한 솔루션을 제공합니다.Mavericks 1.0은 RxJava 기반으로 되어 있었는데, 2.0에서 Coroutines으로 새롭게 작성되었습니다.Mavericks 2.0에서 추가된 기능1. Coroutines 사용RxJava에서 Coroutines로 전환되면서 더 간결하고 직관적인 비동기 코드 작성 가능.2. execute 개선비동기 작업의 상태를 쉽게 관리할 수 있는 기능3. Flow 지원Mavericks StateFlow와 함께 작동하며 상태 기반 데이터 스트림을 쉽게 ..