[안드로이드 / Kotlin] Coroutine Flow debounce를 이용한 검색 구현
·
Android
안드로이드 앱을 개발하다보면 EditText를 이용한 검색 기능을 많이 구현합니다. 하지만 EditText에서 입력값의 변화를 감지할 때마다 API 호출을 하게되면 많은 비용을 소비하게 됩니다. 예를 들어 빠르게 값을 입력하고 지웠다면, 불필요한 입력에도 API를 호출하여 매우 비효율적이라 할 수 있습니다. 그러므로 일정 시간 간격을 주고, 유저의 입력이 끝났다고 판단될 때 API 호출하여 좀 더 효율적으로 구현해야 합니다. 이때 사용하는 것이 debounce 기법입니다. debounce란? debounce는 스크롤 또는 값의 입력과 같이 이벤트가 과도하게 많은 API를 호출할 경우 지정한 시간 동안 호출의 제약을 걸어 과부하를 방지하는 기술입니다. 예를 들어 지정한 시간을 1초라고 할 때, 이 1초 동..