【问题标题】:How to free up memory on viewwilldisappear MKMapView?如何在viewwilldisappear MKMapView上释放内存?
【发布时间】:2013-11-11 10:50:28
【问题描述】:

大家好,我的 uiviewcontroller 中有一个 MKMapView。当我打开 uiview 时,内存堆从 20 Mb 上升到 100 Mb。在 viewwilldisappear 上,我添加了以下内容:

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

但记忆保持不变。它不会减少。

【问题讨论】:

  • 您是否还发布了MKMapView 中显示的任何数据,例如注释。另外,我在您的方法中缺少对[super viewWillDisappear:animated]; 的调用。如果你能够更新,我建议你使用 ARC,因为它会比你自己处理内存管理更容易。

标签: ios memory-management mkmapview


【解决方案1】:

MKMapviews 总是被发现是泄漏的。你需要应用这样的东西

将地图视图的委托设置为 nil,这将阻止 MKMapView 向其发送消息。

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

你也可以在收到内存警告时更改地图类型

这就是苹果所说的

在释放您设置了一个 MKMapView 对象之前 委托,记得将该对象的委托属性设置为 nil。一 你可以这样做的地方是你处理的 dealloc 方法 地图视图。

【讨论】:

  • 太棒了 :) 享受编码 :)
猜你喜欢
  • 2015-04-22
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-08
相关资源
最近更新 更多