这是事情,我有一个在swift上编写的演示应用程序,我的MkMapView从60mb到80mb的空闲内存(使用模拟器)起飞所以我想要释放它,特别是因为它完全重新加载了地图我再次点击“打开地图”按钮。
所以我覆盖了func viewWillDisappear
,我试图运行的代码将是:
self.mapView.mapType = MKMapType.Hybrid
self.mapView.mapType = MKMapType.Standard
self.mapView.showsUserLocation = false
self.mapView.delegate = nil
self.mapView.removeFromSuperview()
self.mapView = nil
但是,这些都没有效果。 有了这个改变,我的应用程序在新发布后持有~20mb,然后我点击“打开男人”按钮,内存使用量跳到170mb(!),之后我可以使用navBarButton跳回来,但内存使用量不会低于~120或者类似的东西。哪个病了。我想要回忆我的记忆!
答案 0 :(得分:1)
事实证明,模拟器在显示地图和东西时可以吃掉那么多内存。
如果您担心自己的应用程序内存效率,请尝试使用真实设备(在发疯之前),因为真实设备和模拟器之间的内存使用量可能会达到5倍或更多。