【发布时间】:2015-11-18 10:01:04
【问题描述】:
使用 Xcode 6.0 和 iOS 8.4,我尝试过的是:
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
mapView.mapType = MKMapTypeHybrid;
mapView.mapType = MKMapTypeStandard;
mapView.showsUserLocation = NO;
mapView.delegate = nil;
[mapView removeFromSuperview];
mapView = nil;
}
我正在使用 ARC,当视图消失时它不会释放内存。
【问题讨论】:
-
您如何验证是地图正在消耗内存?
-
我也遇到过这种行为,但我不认为这是一个错误。您是否尝试过添加地图并再次将其删除?每次添加和删除都会增加内存吗?在我的应用程序中,情况并非如此。我同意第一次显示地图时分配了一些 MB,如果我查看内存使用情况,它们仍然被分配,但即使我多次显示地图视图,它也是稳定的。所以我认为这不应该是泄漏。我猜这只是因为 MapKit 是延迟加载的。
-
是的,Mapview 没有释放它的内存。任何帮助都会很棒。
标签: ios objective-c iphone mkmapview mapkit