Ios Swift-垃圾收集-有些东西被落在后面

Ios Swift-垃圾收集-有些东西被落在后面,ios,swift,garbage-collection,Ios,Swift,Garbage Collection,我对iOS开发相当陌生,所以如果我的问题听起来不值得在stackoverfow上讨论,我提前道歉 就结构而言,我正在构建一个带有home ViewController和gameplay ViewController的简单游戏 我已经添加了一个非常简单的函数来杀死活动,以确保没有任何东西被遗留下来,它会在离开游戏视图控制器之前被调用。以下是我正在使用的代码: private func cleanThis(){ //removing objects from array activ

我对iOS开发相当陌生,所以如果我的问题听起来不值得在stackoverfow上讨论,我提前道歉

就结构而言,我正在构建一个带有home ViewController和gameplay ViewController的简单游戏

我已经添加了一个非常简单的函数来杀死活动,以确保没有任何东西被遗留下来,它会在离开游戏视图控制器之前被调用。以下是我正在使用的代码:

private func cleanThis(){  

   //removing objects from array
   activeEnemies.removeAll()

   //removing objects from array
   activeTargets.removeAll()

   //removing the rest
   let subViews = self.view.subviews
   for subview in subViews{
      subview.removeFromSuperview()
   }
}
我一定是遗漏了什么,当我在没有进入主页的情况下测试它时,有一个38MB的恒定内存活动。我还没有弄明白如何监控ViewController中还剩下的内容

非常感谢您的帮助


p、 当ViewController中没有对象时,内存活动应为0,是否正确?

iOS不使用垃圾收集器。它使用一种叫做。你陷入麻烦的主要方式是循环引用(A对B有很强的引用,B对A有很强的引用)

Xcode Instruments将向您显示所有内存分配和释放,还可以显示内存泄漏。下面是一个屏幕截图来演示:


iOS不使用垃圾收集器。它使用一种叫做。你陷入麻烦的主要方式是循环引用(A对B有很强的引用,B对A有很强的引用)

Xcode Instruments将向您显示所有内存分配和释放,还可以显示内存泄漏。下面是一个屏幕截图来演示:


Swift不使用垃圾收集。它使用。恒定的内存似乎是一个很好的指标,表明你的应用程序不会产生泄漏。如果您想了解有关内存的更多详细信息,请在Instruments中添加内存探查器。您可以使用Instruments查看内存的使用情况。Swift不使用垃圾收集。它使用。恒定的内存似乎是一个很好的指标,表明你的应用程序不会产生泄漏。如果您想了解有关内存的更多详细信息,请在Instruments中添加内存探查器您可以使用Instruments查看内存的使用情况。