ホームページ  >  に質問  >  本文

地图 - ios的MKMapView在缩放时内存暴涨

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

PHP中文网PHP中文网2763日前603

全員に返信(3)返信します

  • 阿神

    阿神2017-04-17 17:28:18

    このメモリは数十メガバイトまで増加しますが、これは正常です。

    Mapview は、レンダリング速度を高めるために、tiledLayer (タイル化されたレイヤー) を使用します。マップ タイルはメモリにキャッシュされます。
    ズームすると、マップ タイルがさまざまなレベルでキャッシュされます。

    メモリが不足している場合は、MKMapView が自動的にキャッシュをクリアしてくれると思いますので、この問題について心配する必要はないと思います。

    追記:1 これは stackoverflow によって与えられた解決策ですが、理由が本当にわかりません。

    リーリー

    追記:

    個人的には

    の方が好きです リーリー

    viewDidDischaracter メソッドでマップを解放し、必要に応じて再初期化します。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 17:28:18

    見つかった解決策:

    mapviewのregionDidChangeメソッドでは、map.zoomLevelが一定範囲未満であると判断し、mapTypeを代替します

    これにより、メモリのピークを効果的に削減できます。

    マップが特定の範囲に縮小されると、メモリを節約するためにマップ上の店舗などの詳細がクリアされるはずだからです。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:28:18

    mapviewのregionDidChangeメソッドでは、map.zoomLevelが一定範囲未満であると判断し、mapTypeを代替します

    これにより、メモリのピークを効果的に削減できます。
    それはどのように行われますか? ? ? ? ? MapView にはzoomLevel 属性がありますか? ? ?

    返事
    0
  • キャンセル返事