Flow 코루틴에서 Suspend 함수를 사용하면 작업이 모두 완료된 후에 단일 값만 반환받을 수 있습니다. 하지만 Flow를 사용하면 중간중간 진행되는 코루틴 작업 중에 갱신되는 값까지 반환받을 수 있습니다. 단일 값만 반환하는 정지 함수와 달리 여러 값을 순차적으로 내보낼 수 있는 유형입니다. 코루틴을 기반으로 빌드되며 여러 값을 제공할 수 있습니다. 비동기식으로 계산할 수 있는 데이터 스트림의 개념입니다. 내보낸 값은 동일한 유형이어야 합니다. 예를 들어, Flow는 정수 값을 내보내는 Flow입니다. Android의 Kotlin 흐름 | Android Developers Android의 Kotlin 흐름 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 코루틴에서 흐름..
코루틴 (Coroutine) 코루틴은 '동시'를 뜻하는 co와 '작업들의 집합'을 뜻하는 routine이 합쳐져 만들어진 단어입니다. 일반적으로 루틴은 단 하나의 입구점과 출구점을 가지는 반면, 코루틴은 여러 개의 입구점과 출구점을 가질 수 있습니다. 따라서, 코루틴은 이전에 실행이 중단된 지점에서 다시 실행을 재개할 수 있는 기능을 가집니다. 코루틴을 적용하면 데이터베이스 또는 네트워크 작업 같은 장시간 작업으로 인한 메인 스레드 블로킹 현상을 줄일 수 있으며, 비동기 작업 중 예외 발생에 따른 메모리 누수를 방지할 수 있습니다. 즉, 비동기적으로 실행되는 코드를 간소화하기 위해 동시성 프로그래밍 개념을 코틀린에 도입한 것을 코루틴이라고 합니다. Android의 Kotlin 코루틴 | Android D..
Coil Coil은 Coroutine Image Loader의 약자이며, Kotlin Coroutines(코루틴)으로 만들어진 Android 백앤드 이미지 로딩 라이브러리입니다. Coil에는 이렇게 다양한 장점들이 있습니다. Glide, Fresco보다 상대적으로 가볍습니다. 심플함과 최소한의 boilerplate를 위하여 Kotlin의 기능을 활용하기 때문에 사용하기 쉽습니다. Kotlin으로 개발되었으며 Coroutines, OkHttp, Okio, AndroidX Lifecycles 등의 최신 라이브러리를 사용합니다. 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취소의 자동화 등등 수많은 최적화 작업을 수행하므로 처리 속도가 굉장히 빠릅니다. Coil Ove..