2016-08-22 6 views
0

具体的な位置(座標)の5つのmapViewをビューに実装する必要があります。 UICollectionViewControllerで5つのmapViewを実装しています(5行、各行に対して1つのmapView)。実行中のアプリケーションは、多くのメモリを消費します(200 MB以上)。アップルマップはあまりにも多くのメモリを消費します

私は各マップが世界全体を読み込んでいると思います。それはたくさんの仕事です。しかし、私が必要とするのは、全世界ではなく、私が提供する現在の座標を表示することだけです。 mapViewsを軽くするためのアイデアや提案はありますか?世界全体をロードすることなく、具体的な地域(座標)と半径の地図のみを表示できますか?

+0

問題はマップビューであり、何らかの種類のメモリリークではありませんか?例えばセルがリロードされるたびに新しいマップビューを作成していますか? – PeejWeej

+1

マップは相互作用する必要がありますか?もしそうでなければ、潜在的に地図上にある画像を作成して画像を表示することができます。 – PeejWeej

+0

アロケーションツールを使用して、アプリがメモリをどのように消費しているかを理解しましたか?その場合は、適切な出力を掲示し、関連するコードを記入してください。 –

答えて

2

MapViewは、そのような多くのメモリを必要とします。 MapViewは単純な視点ではなく、mapViewインスタンスの作成に多くのことがあります。 mapViewに表示される場所の画像やデータなど。

ご使用の場合は、MKMapSnapshotterの使用を強くお勧めします。ここにドキュメンテーションのリンクがあります - https://developer.apple.com/library/mac/documentation/MapKit/Reference/MKMapSnapshotter_class/

関連する問題