1
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 제휴점 목록/지도 화면을 하나로 통합하는 안드로이드(Compose) 프로젝트에서 비용·아키텍처·UI/알고리즘 문제를 해결한 과정을 다룹니다.
네이버 지도 SDK 호출이 화면 통합으로 일평균 12.9만→340만 건으로 늘어 26배 비용 증가가 예상되자, MapView 글로벌 공유는 리스크가 커서 포기하고 지도 뷰 전환 시점에만 로드하는 Lazy Load와 플레이스홀더, 목록 모드에서 핀 API 호출 차단으로 비용을 절감합니다.
통합으로 3,000줄이 넘게 비대해진 ViewModel은 StateHolder 패턴(TopNavigation/Map/BottomSheet 등)으로 관심사를 분리해 응집도와 가독성을 높이고, 불필요한 리컴포지션을 줄이는 방향으로 최적화합니다.
동일 좌표로 겹치는 마커는 Haversine 기반 거리 계산과 좌표 차이 1차 필터링으로 연산을 최적화하며 정밀 그룹화를 구현하고, Material3 한계(3상태) 때문에 AnchoredDraggable+Offset으로 4상태 Non-Modal 바텀시트를 직접 만들고 NestedScroll로 스크롤 충돌을 조정합니다.
- 핵심 키워드: Lazy Load, StateHolder, Haversine 클러스터링, 커스텀 바텀시트(AnchoredDraggable), NestedScroll


