목록 보기
제휴점 목록/지도 통합기: 26배 폭증한 비용부터 아키텍처 최적화까지
프론트엔드

제휴점 목록/지도 통합기: 26배 폭증한 비용부터 아키텍처 최적화까지

여기어때
여기어때
2025년 12월 16일

두줄요약

목록과 지도를 하나의 화면으로 통합하며 비용 폭증과 구조 비대화 문제를 함께 다뤘습니다. Lazy Load, StateHolder, 거리 기반 클러스터링, 커스텀 바텀시트로 개선했습니다.

문제 상황

  • 목록 화면과 지도 화면 분리로 탐색 흐름 단절
  • 통합 과정에서 지도 SDK 호출량 급증에 따른 비용 폭등 우려
  • 하나의 ViewModel 비대화와 마커 중첩, 바텀시트 상태 제약 발생

해결 방법

  • 지도는 필요 시점에만 로드하는 Lazy Load 전략 적용
  • StateHolder 패턴으로 지도, 목록, 네비게이션 상태 분리
  • Haversine 기반 거리 클러스터링과 선필터링으로 중복 마커 개선
  • AnchoredDraggable와 NestedScroll로 4상태 비모달 바텀시트 직접 구현

성능/운영 포인트

  • MapView 글로벌 공유 대신 화면 단위 생성 원칙 유지
  • 목록 뷰 전환 시 핀 API 호출 차단으로 서버 비용 절감
  • 리컴포지션 범위 축소로 불필요한 UI 갱신 완화
  • 삼각함수 연산 전 좌표 차이 필터로 메인 스레드 부담 감소

다음 읽기

#Android 주제를 이어서 읽기

Compose와 MVI로 다시 태어난 Android UI: MVVM에서 MVI로의 전환기

검색 화면의 복잡한 상태 관리를 개선하기 위해 MVVM에서 MVI로 전환하고, Compose와 결합한 구조를 소개했습니다. 단방향 데이터 흐름과 SideEffect 분리로 가독성과 유지보수성을 높였습니다.

여기어때
여기어때
프론트엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...