所以,我有一个导航控制器,它连接到视图控制器。从该视图控制器,你可以去一个相同的类型视图控制器,但具有不同的内容。视图控制器的内存很紧张,所以推新的每个新视图都很昂贵。问题是,当我点击后退按钮并且视图控制器被弹出时,内存不会自行释放。有什么我应该做的,就像我不使用零的东西等?因为,假设我有5个图像要显示,每个图像需要5到10MB的内存,当我将一个新的视图控制器放在一个新的视图控制器的顶部时,我花费了30-50mbs的内存,这没关系,但是当我点击“后退”按钮并且视图控制器弹出时,我预计会释放这些50mbs。但情况并非如此。有人可以告诉我应该怎么做来更有效地管理这个内存?Swift中的内存管理
另外,有没有一种很好的方式来释放UIImageView在Swift中使用的内存?
所以,更确切地说,视图控制器的deinit不会在视图控制器从导航堆栈中移出时被调用。这同样适用于该视图控制器的一些自定义子视图。我如何确保它们被ARC清理干净,并且是否有任何工具可以帮助我跟踪将这些内容保存在内存中的引用。
谢谢,重复使用地图为我做了。我还调用mapView.removeAnnotations(myPolylines),而不是mapView.removeOverlays(myPolylines),这大概是我的地图在内存中。 – Gmeister4
p.s,我的deint没有被称为由于参考周期,必须无视所有的一切viewWillDisappear – Gmeister4