84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
ios的mkmapview在zoom时内存会暴涨,并且降不下来。我在网上搜了很多,也尝试了很多解决方案,比如切换地图显示模式(MKMapType)、不用时释放掉地图。但是并没有明显的解决缩放时的内存问题。
认证高级PHP讲师
このメモリは数十メガバイトまで増加しますが、これは正常です。
Mapview は、レンダリング速度を高めるために、tiledLayer (タイル化されたレイヤー) を使用します。マップ タイルはメモリにキャッシュされます。 ズームすると、マップ タイルがさまざまなレベルでキャッシュされます。
メモリが不足している場合は、MKMapView が自動的にキャッシュをクリアしてくれると思いますので、この問題について心配する必要はないと思います。
追記:1 これは stackoverflow によって与えられた解決策ですが、理由が本当にわかりません。
追記:
個人的には
viewDidDischaracter メソッドでマップを解放し、必要に応じて再初期化します。
見つかった解決策:
mapviewのregionDidChangeメソッドでは、map.zoomLevelが一定範囲未満であると判断し、mapTypeを代替します
これにより、メモリのピークを効果的に削減できます。
マップが特定の範囲に縮小されると、メモリを節約するためにマップ上の店舗などの詳細がクリアされるはずだからです。
これにより、メモリのピークを効果的に削減できます。 それはどのように行われますか? ? ? ? ? MapView にはzoomLevel 属性がありますか? ? ?
このメモリは数十メガバイトまで増加しますが、これは正常です。
Mapview は、レンダリング速度を高めるために、tiledLayer (タイル化されたレイヤー) を使用します。マップ タイルはメモリにキャッシュされます。
ズームすると、マップ タイルがさまざまなレベルでキャッシュされます。
メモリが不足している場合は、MKMapView が自動的にキャッシュをクリアしてくれると思いますので、この問題について心配する必要はないと思います。
追記:1 これは stackoverflow によって与えられた解決策ですが、理由が本当にわかりません。
リーリー追記:
個人的には
の方が好きです リーリーviewDidDischaracter メソッドでマップを解放し、必要に応じて再初期化します。
見つかった解決策:
mapviewのregionDidChangeメソッドでは、map.zoomLevelが一定範囲未満であると判断し、mapTypeを代替します
これにより、メモリのピークを効果的に削減できます。
マップが特定の範囲に縮小されると、メモリを節約するためにマップ上の店舗などの詳細がクリアされるはずだからです。
mapviewのregionDidChangeメソッドでは、map.zoomLevelが一定範囲未満であると判断し、mapTypeを代替します
これにより、メモリのピークを効果的に削減できます。
それはどのように行われますか? ? ? ? ? MapView にはzoomLevel 属性がありますか? ? ?