wfb*_*ale 2 memory-management mkmapview ios ios7
我有一个视图控制器MKMapView作为子视图.该视图控制器又转向视图控制器,视图控制器又转向另一个视图控制器.MKMapView可以使我的Apps内存占用高达60mb.
虽然正在介绍其他视图控制器,但有没有办法减少它的占用空间MKMapView而不完全将其从超级视图中删除并取消分配它?
在不改变视图层次结构的情况下实现此目的的一种方法是切换MKMapViewmapType.这导致MKMapView释放其所有地图图块并显着减少其内存占用.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// Toggling this property forces the map view
// to release its tiles, freeing up memory.
self.mapView.mapType = MKMapTypeHybrid;
self.mapView.mapType = MKMapTypeStandard;
}
Run Code Online (Sandbox Code Playgroud)
在检查配置文件中的堆分配时,我观察到内存占用减少了30mb.
注意:如果完成此技巧将不起作用viewDidDisappear,切换mapType in viewDidDisappear将导致在返回视图时释放切片.如果有人知道为什么会有奖励积分?