2016-11-23 146 views
0

我正在使用Xcode8和Swift3。运行应用程序时,我正在使用可视化内存调试。它向我展示了左侧的3个内存问题。请让我知道如何解决这些内存问题? enter image description here内存泄漏问题

回答

0

那么,真的很难告诉你如何在不知道程序流程的情况下解决这些问题。另外,记忆问题有很多原因,而且这取决于您如何处理对象的实例。

如果您不使用ARC,这意味着您有责任释放您创建的任何对象。然后你必须检查该物体在哪个阶段泄漏。正如它在那里指出的那样,它是一个泄露的字典。所以你有一个线索要检查什么特定的对象。

另一方面,如果您使用ARC,则不必处理您创建的对象的释放。但是,这并不意味着你不会有任何泄漏。这是即使使用ARC可以在你的程序导致内存泄漏的一些可能的原因:

  • 您设置的子对象的强引用父。这导致保留周期。
  • 您在界面中设置了对委托的强引用。
  • 当您在转让所有权后进行免费桥接时,您忘记了释放对象。
  • 您忘记为您在块中传递的对象设置弱引用。

我希望这有助于