React Native Maps 질문

현재 react-native-maps를 사용하여 작업을 하고 있습니다.

Ios에서 map에 찍는 마커수가 증가함에 따라 프레임 드랍이 심각해

trackViewChange props를 동적으로 설정해 주고 있습니다.

여기서 발생하는 문제가 디버그 상황에서는

  1. componentWillReceiveProps(marker List 변경 -> trackViewChange = true)
  2. marker render
  3. componentDidUpdate(trackViewChange = false)
    대략 이런 순서로 잘 랜더링 하고 마커가 뷰 체인지를 트래킹 하지 않는데

Relase 버전에서는
marker 가 랜더링 되기전에 trackViewChange = false 로 바뀌어서 마커가 화면에 랜더링 되지않는 현상이 나타납니다 ㅜ

혹시 Dubug 버전과 Release 버전에 다른 랜더링 시점을 가지고 있는지? 이것도 이상하지만…

위와 관련하여 문제를 겪으신 경험이 있는지 궁금합니다

감사합니다~

저도 react-native-maps로 간단한 것만 구현해봐서 퍼포먼스 적인 이슈에 직면해본 적은 없는데 제가 알기론 marker 수가 증가해도 clustering을 지원하기 때문에 퍼포먼스 적으로 엄청난 무리가 온다고 생각하진 않았습니다. react lifecycle을 검토해보시거나 rendering 호출 수를 한번 확인해보시는 것도 좋을 것 같습니다. 그리고 릴리즈 모드시 rendering안되는 현상에 대해선 InteractionManager 등을 한번 사용해보시는 것도 추천드립니다.

그리고 여기 보시면 훨씬 성능이 좋은 maps 모듈도 있다고 합니다.

안드로이드는 특별히 퍼포먼스 이슈가 없는데

Ios는 마커 수가 100개만 넘어가도 10프레임 밑으로 떨어져버리는 이슈가 있네요 ㅜㅜ

InteractionManager를 한번 써봐야 겠습니다

감사합니다~ ^^

1 Like

Herbert Lim 님이 만든 미세빅 이란 어플인데
참고하세요. RN으로 만들어져있습니다.

3 Likes

이분은 이걸로 사업하시는 것 같은데요. 홈페이지 잘만드셨네요 ㅎㅎ

감사합니다 앱이랑 svg 둘다 참조해봐야 겠네요