3

こんにちは、私は uiviewcontroller に MKMapView を持っています。uiview を開くと、メモリ ヒープが 20 Mb から 100 Mb に増加します。そして、viewwilldisappearに次を追加しました:

-(void)viewWillDisappear:(BOOL)animated{
     [self.mapView release];
}

でも記憶はそのまま。減少しません。

4

1 に答える 1

15

MKMapviews は常に漏れやすいことがわかっています。このようなものを適用する必要があります

マップ ビューのデリゲートを nil に設定すると、MKMapView からメッセージが送信されなくなります。

self.mapView.showsUserLocation = NO;
self.mapView.delegate = nil;
[self.mapView removeFromSuperview];
self.mapView = nil;

また、メモリ警告が表示されたときにマップ タイプを変更することもできます

これはアップルが言っていることです

デリゲートを設定した MKMapView オブジェクトを解放する前に、そのオブジェクトのデリゲート プロパティを nil に設定することを忘れないでください。これを行うことができる 1 つの場所は、マップ ビューを破棄する dealloc メソッドです。

于 2013-11-11T10:58:12.793 に答える