2017-10-31 10 views
0

저는 내 앱 중 하나에서 HERE지도를 사용하고 있습니다. 적어도 3 ~ 4 개의 화면에지도를 표시해야합니다. 따라서 모든 시간에 3-4 개의 맵 인스턴스가 메모리에로드됩니다.메모리 압력은 여기에 있습니다. ios

내가 알아 차 렸던 점은 여기에있는 하나의 인스턴스를로드하는 것이 최대 50MB의 메모리를 소모한다는 것입니다. 다른 화면으로 이동하자마자 두 개의 맵 인스턴스가로드됩니다. 메모리가 100MB로 점프하는 식으로 진행됩니다. 마침내 언젠가 사용 후, 메모리 문제와 응용 프로그램이 충돌합니다.

"있어 메모리 부족 알림 (중요) 2017"

내가 여기서 구입 한 버전을 추가 해요는 포드를 매핑합니다. 어떤 차이가 있습니까?

지도의 프레임을 바꿀 때마다 높이를 높이거나 낮출 때마다 또 다시 상당한 메모리를 소비하는지도를 다시로드하는 것으로 보입니다.

아무도 여기를 마주보고 있습니다. ios version ??

답변

0

iOS 용 MapKit 또는 Google지도 SDK를 사용하고 있지만 기본 MapKit을 사용하고 있다고 가정 할 때 작성하지 않았습니다. 지도 캐시가 공유되어 있기 때문에 앱 크기에 영향을주는지도라고 생각하지 않습니다. MKMapView는 장치가 오프라인 상태 일 때 마지막으로 본지도를 계속 표시 할 수 있도록 최근 표시된 맵을 포함하는 자체 캐시를 가지고 있습니다. 이 솔루션을 사용하여 캐시를 삭제 시도 할 수 있습니다 : How can I clear MKMapView's cache of map tiles?

난 당신이지도를 필요로 앱 다른 모든 컨트롤러에 포함 된 수있는 공유 MapViewController을 만드는 것이 좋습니다.

+0

아니요, Google 또는 Apple지도를 사용하고 있지 않습니다. 나는 내 질문에 여기에 SDM을 사용하고 있다고 언급했다. 그러나 그것은 그다지 분명하지 않을 수 있습니다. 나는 더 명확하게하기 위해 나의 질문을 편집했다. – Saira