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

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

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

두줄요약

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

문제 상황

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

해결 방법

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

성능/운영 포인트

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

댓글 0

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

댓글을 불러오는 중...