我当前正在创建一个游戏,要求用户在切换关卡时切换视图控制器。
从菜单页面访问一个级别,我以模态形式使用了present。 返回菜单页面时,我使用以下代码:
@IBOutlet weak var Menu: UIButton!
@IBAction func returntoMenu(_ sender: UIButton) {
self.dismiss(animated: true, completion: nil)
}
这意味着当用户按下菜单按钮时,他们将返回菜单页面。 但是我注意到,每按一次菜单按钮,内存使用量就会增加而不是减少。这表明该关卡未正确关闭。
有人知道什么可能导致此问题,
提前谢谢!
答案 0 :(得分:0)
默认情况下,iOS使用自动引用计数。这意味着每个对象至少具有一个与先前创建的(强参考)对象相关的强参考。 如果删除了引用,则垃圾收集器将清除内存的这一部分。当然,我的意思是堆。 如果两个项目彼此有自己的强引用,则此状态表示“保留周期”。因此,内存将永远不会释放。您必须发布更多代码才能找到问题。我只是描述了一个简单的案例。当应用程序消耗大量堆内存时,状态会很多。