内存不足问题iOS

时间:2018-10-12 19:39:41

标签: ios memory-management instruments allocation

在我的iOS应用中,我正在运行乐器工具来查看分配的内存。在应用程序中,我调用CoreData并将其用于使用Apple的ResearchKit创建调查。每次运行一个新的字节时,我都会看到“持久字节”数量的增加。当应用程序运行时,无论何时多次运行,最终都会关闭该应用程序。

我使用Fabric的Crashylitics可以看到发生了内存不足会话。

Here you can see the jumps and the allocations remain 查找和修复似乎保留的内存的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您的屏幕截图未显示任何内存泄漏,因此您应该首先使用“分配”工具,该工具的图形位于屏幕截图中。

从设置内存使用量高峰的检查范围开始。单击图形并拖动以设置检查范围。您会注意到检查范围之外的图形颜色变为灰色。此时,您将重点放在内存使用量激增的地方。

要在代码中查找导致内存使用量增加的位置,请通过单击图形下方的跳转栏并选择“调用树”来切换到调用树视图。反转调用树并隐藏系统库,可以更轻松地在调用树中查找代码。单击窗口底部的“调用树”按钮以反转调用树并隐藏系统库。

enter image description here

如果在调用树中找到分配大量内存的函数,则可以双击该函数以显示分配内存的代码行。

另一个可以用来分析内存增长的工具是“分配”工具的年代。运行您的应用程序,暂停,然后单击“标记生成”按钮以创建一个生成。重复创建多个世代。从跳转栏中选择“ Generations”,以查看一代又一代的内存增长量。