如何在内存中删除MKMapView?

时间:2016-01-04 10:16:17

标签: ios swift memory automatic-ref-counting

在xcode中运行mapview会浪费太多内存,所以我想删除当前ViewController解雇时的mapview:

deinit{
    mapView = nil
}

但是在调试导航器中,内存实际上没有释放。 那么,当我删除mapview时如何释放内存? 谢谢!

2 个答案:

答案 0 :(得分:0)

基本上,为mapView插座释放已分配内存的一种方法是调用.removeFromSuperview()方法,将其放在 viewDidDisappear 声明中

override func viewDidDisappear(animated: Bool) {
    mapView.removeFromSuperview()
}

superview(在本例中是我的ViewController)能够相应地释放内存

答案 1 :(得分:0)

Swift使用自动引用计数机制进行内存管理,这意味着在引用该对象的引用计数变为零时,该对象将被从内存中删除和卸载。如果未卸载对象,则程序可能具有使用它的其他对象。尝试浏览代码并检查您是否未在其他对象中设置对象的引用