iOS内存管理 iOS Twitter和Facebook iOS应用程序调试 iOS中的内存管理最初是非ARC(自动引用计数),我们必须保留和释放对象。现在,它支持ARC,我们不必保留和释放对象。Xcode在编译时自动处理作业。 内存管理问题 根据Apple文档,内存管理中的两个主要问题是 - 释放或覆盖仍在使用的数据。它会导致内存损坏,通常会导致应用程序崩溃,甚至导致用户数据损坏。 不释放不再使用的数据会导致内存泄漏。当分配的内存未被释放时,即使它永远不会被再次使用,也称为内存泄漏。泄漏会导致您的应用程序使用不断增加的内存量,从而导致系统性能下降或(在iOS中)您的应用程序被终止。 内存管理规则 我们拥有自己创建的对象,我们必须在不再需要时释放它们。 使用“保留”获取您未创建的对象的所有权。您不必在不需要时释放这些对象。 不要释放您不拥有的对象。 处理ARC中的内存 您不需要在ARC中使用release并保留。因此,删除视图控制器时将释放所有视图控制器的对象。同样,任何对象的子对象在释放时都会被释放。请注意,如果其他类具有对类的对象的强引用,则不会释放整个类。因此,建议为委托使用弱属性。 内存管理工具 我们可以借助Xcode工具仪器分析内存的使用情况。它包括Activity Monitor,Allocations,Leaks,Zombies等工具。 分析内存分配的步骤 第1步 - 打开现有应用程序。 第2步 - 选择产品,然后选择配置文件,如下所示。 步骤3 - 在下面显示的下一个屏幕中选择分配,然后选择配置文件。 第4步 - 我们将看到不同对象的内存分配,如下所示。 步骤5 - 您可以在视图控制器之间切换,并检查内存是否正确释放。 步骤6 - 类似地,我们可以使用Activity Monitor来查看为应用程序分配的总内存,而不是Allocations。 步骤7 - 这些工具可帮助我们访问内存消耗并找到可能发生泄漏的位置。 iOS Twitter和Facebook iOS应用程序调试