以编程方式在iOS上获取低内存日志/报告

时间:2015-08-12 20:53:26

标签: ios memory

我目前正在使用PLCrashReporter以编程方式获取ios设备上的崩溃报告。根据{{​​3}},https://developer.apple.com/library/ios/technotes/tn2151/_index.html内存日志与崩溃日志不同。如何以编程方式获取此内存日志?有没有可用的图书馆?

2 个答案:

答案 0 :(得分:2)

您需要使用Instruments来确定内存耗尽的原因。使用Analyzer检查代码。使用Instruments Leaks工具。

使用仪器检查由于保留但未泄漏的内存导致的泄漏和内存丢失。后者是未使用的内存,仍然指向。在仪器上的分配工具中使用标记生成(快照)。

如何使用“快照”查找内存褶皱,请参阅:bbum blog

基本上,该方法是运行Instruments分配工具,获取快照,运行代码的迭代并重复另外3到4次快照。这将指示在迭代期间分配但未释放的内存。

要弄清楚披露的结果,以查看个别分配。

如果您需要查看对象使用仪器的保留,释放和自动释放的位置:

在仪器中运行,在分配中设置“记录参考计数”(对于Xcode 5及更低版本,您必须停止记录以设置选项)。导致应用程序运行,停止录制,向下钻取,您将能够看到所有保留,发布和自动释放的位置。

答案 1 :(得分:0)

一种方法是将设备插入Xcode。转到窗口>设备和模拟器,选择您的设备,单击"查看设备日志"按钮。低内存日志将在进程中处于"未知"并输入"未知"。

请参阅"使用Xcode从设备获取崩溃日志和控制台输出的https://developer.apple.com/library/content/qa/qa1747/_index.html"部分。