我MKMapView
在Objective-C中使用.应用程序占用45MB内存,但当MKMapView
出现内存使用量增加到110 MB.这不是好iPhone 4和iPhone 4S.
请建议我优化内存的代码结构.
好好处理MKMapKit
需要注意内存管理.特别是如果您正在使用UITabbarController
和设置MapView
任何视图控制器.
如果您需要MKMapKit
在您的应用程序中使用,我建议您MapView
在viewWillAppear
Superview中初始化和删除viewDidDisappear
.此外,您需要在从Superview中删除之前删除它的委托mapView.delegate = nil
并制作MapView = nil
.
Objective-C的
- (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; mapView.delegate = nil; [mapView removeFromSuperview]; mapView = nil; }
迅速
override func viewDidDisappear(animated: Bool) { super.viewDidDisappear(animated) mapView.delegate = nil mapView.removeFromSuperview() mapView = nil }
通过这样做,地图占用的所有内存都是免费的.
请不要加MapView
在你ViewController
的故事板或XIB.以编程方式创建MapView.
希望它可以帮助您使用MKMapKit进行内存管理.