1

ユーザーの位置を追跡するために MKUserTrackingBarButtonItem を押してからビューを離れると、問題が発生します。

プロファイラーはゾンビを示しています:

[CLLocationManager onClientEventLocation]

CLLocationManagerはありませんが、終了時に nil に設定したMKMapViewがあります。

    - (void)viewDidUnload
{
    [self setMapToolbar:nil];
    mapView.delegate = nil;
    [self setMapView:nil];

    [super viewDidUnload];
}
4

1 に答える 1

2

最終的に MKMapView showUserLocation メソッドが CLLocationManager のインスタンスを作成することを理解しました。

ビューを終了するときに userLocation をオフにすることで、このゾンビを簡単に回避できます。

     - (void)viewWillDisappear:(BOOL)animated 
{ 
[mapView setShowsUserLocation:NO]; 
[super viewWillDisappear:animated]; 
}
于 2011-11-13T07:24:41.257 に答える