地图 - ios的MKMapView在缩放时内存暴涨
PHP中文网
PHP中文网 2017-04-17 17:26:18
0
3
601

ios的mkmapview在zoom时内存会暴涨,并且降不下来。
我在网上搜了很多,也尝试了很多解决方案,比如切换地图显示模式(MKMapType)、不用时释放掉地图。但是并没有明显的解决缩放时的内存问题。

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(3)
阿神

이 메모리는 수십 메가바이트까지 늘어나는데 이는 정상적인 현상입니다.

Mapview는 렌더링 속도를 위해 TiledLayer(타일 레이어)를 사용합니다. 지도 타일은 메모리에 캐시됩니다.
확대/축소하면 지도 타일이 다양한 수준으로 캐시됩니다.

메모리가 부족할 경우 MKMapView가 캐시를 자동으로 삭제하므로 이 문제는 걱정하지 않으셔도 될 것 같습니다.

PS:1 이것은 stackoverflow에서 제공하는 솔루션인데, 왜 그런지 정말 모르겠습니다.

으아악

추신:

개인적으로는

으아악

viewDidDisappear 메소드에서 지도를 해제한 다음 필요할 때 다시 초기화하세요.

左手右手慢动作

해결책 발견:

mapview의 RegionDidChange 메소드에서는 map.zoomLevel이 특정 범위보다 작을 경우 mapType을 대체하는 것으로 판단합니다

이렇게 하면 메모리 피크를 효과적으로 줄일 수 있습니다.

지도가 특정 범위로 축소되면 메모리 절약을 위해 지도에 있는 상점 등의 세부정보가 삭제되어야 하기 때문입니다.

Ty80

mapview의 RegionDidChange 메소드에서는 map.zoomLevel이 특정 범위보다 작을 경우 mapType을 대체하는 것으로 판단합니다

이렇게 하면 메모리 피크를 효과적으로 줄일 수 있습니다.
어떻게 진행되나요? ? ? ? ? mapView에 ZoomLevel 속성이 있나요? ? ?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!