ios7 sdk中的MKMapView内存问题

时间:2014-02-18 17:38:15

标签: ios objective-c ipad mkmapview mapkit

我在视图控制器中有MKMapView,当我开始放大时,会占用大量内存 当我离开包含MKMapView的视图时,内存未被释放(我在我的应用程序中使用ARC)

修改

我读了一些堆栈溢出答案,我必须把MKMapView放在AppDelegate中:

-(MKMapView*) mapView
{
    if(_mapView == nil) {
        _mapView = [[MKMapView alloc] init];
    }
    return _mapView;
}

并在包含MKMapView put

的viewController的viewWillDisappear中
-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    XAppDelegate.mapView.delegate = nil;
    [XAppDelegate.mapView removeFromSuperview];

}

但它没有解决我的问题。

1 个答案:

答案 0 :(得分:1)

我见过的一个常见缺陷是MKOverlay强烈引用了MKOverlayView / MKOverlayRenderMKMapView。这会导致保留周期,因为MKMapView也保留了对MKOverlay实例的强引用。