在我的iOS应用中,我正在运行乐器工具来查看分配的内存。在应用程序中,我调用CoreData并将其用于使用Apple的ResearchKit创建调查。每次运行一个新的字节时,我都会看到“持久字节”数量的增加。当应用程序运行时,无论何时多次运行,最终都会关闭该应用程序。
我使用Fabric的Crashylitics可以看到发生了内存不足会话。
答案 0 :(得分:2)
您的屏幕截图未显示任何内存泄漏,因此您应该首先使用“分配”工具,该工具的图形位于屏幕截图中。
从设置内存使用量高峰的检查范围开始。单击图形并拖动以设置检查范围。您会注意到检查范围之外的图形颜色变为灰色。此时,您将重点放在内存使用量激增的地方。
要在代码中查找导致内存使用量增加的位置,请通过单击图形下方的跳转栏并选择“调用树”来切换到调用树视图。反转调用树并隐藏系统库,可以更轻松地在调用树中查找代码。单击窗口底部的“调用树”按钮以反转调用树并隐藏系统库。
如果在调用树中找到分配大量内存的函数,则可以双击该函数以显示分配内存的代码行。
另一个可以用来分析内存增长的工具是“分配”工具的年代。运行您的应用程序,暂停,然后单击“标记生成”按钮以创建一个生成。重复创建多个世代。从跳转栏中选择“ Generations”,以查看一代又一代的内存增长量。