首页 > 地图内存优化讨论

地图内存优化讨论

问题:现在有两个视图控制器,由视图控制器一,点击按钮,进入视图控制器二,视图控制器二显示地图,刚开始进入视图控制器二加载地图,内存瞬间增加30MB-40MB左右,整个页面就只显示了6个大头针,并开启了允许用户定位。当我点击大头针的时候,地图会缩放到更加具体的位置,并去除之前的大头针然后添加另外一种大头针,大概30个左右,现在内存是200MB了,当我点击返回按钮回到上一级,内存下降了,但是还保持在100MB左右,这里我尝试着在回到上级的时候,将代理,地图视图置nil,并去除地图视图,但是并没有任何效果?项目里并不存在循环引用问题。希望对地图有研究的大神给点思路,或者在地图内存优化这块,有没有什么好的建议?谢谢!


这是MKMapView 的delegate致使mapView不被释放的问题,所以在ViewController的dealloc方法中要手动处理 MKMapView

-(void)dealloc {
    [self.mapView removeFromSuperview];
    self.mapView.delegate = nil;
    self.mapView = nil;
}
【热门文章】
【热门文章】