일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- conflate
- 백준
- KAKAO
- 릴리즈 키해시
- withContext
- TOSS 과제
- Kotlin
- cancellationException
- ShapeableImageView
- java
- collectLatest
- Algorithm
- google play console
- coldStream
- coroutinescope
- flowon
- coroutine
- monotone stack
- Product Flavor
- 백준2309
- hotStream
- Android
- ServerDrivenUI
- SDUI
- Next Challenge
- coroutinecontext
- 안드로이드
- Advanced LCA
- Flow
- app-distribution
Archives
- Today
- Total
목록collectLatest (1)
루피도 코딩한다

지난 포스트에서는 Flow를 방출하는 쪽에서 flowOn연산자를 사용해 Context를 변경하는 방법에 대해 살펴보았다. 이렇게 Producer의 Context를 변경하게 될 경우 오래 걸리는 작업들을 비동기적으로 처리할 수 있어서 도움이 된다. 그러나 만약 Collect 하는 쪽의 작업이 오래 걸리면 어떻게 해야 할까? 방출되는 속도에 비해 처리되는 속도가 현저히 느리며 데이터가 계속 쌓이게 되는 문제를 Back Pressure라고 한다. 이번 포스트는 이런 문제를 해결할 수 있는 Buffering에 대한 내용을 다룬다. 아래 예시를 통해 Collector의 시간이 긴 상황을 살펴보자. emit : 100ms의 delay 걸림 collect : 300ms의 delay 걸림 둘 다 thread를 지정하지..
Coroutine
2024. 1. 30. 16:56