无法跟踪内存问题

时间:2017-04-18 05:11:20

标签: ios swift xcode firebase-cloud-messaging xcode-instruments

我在内存泄漏跟踪方面遇到问题,我确实尝试过分析,但仪器显示 firapb_decode_repeated_user_attribute 作为负责对象。当我尝试跟踪代码时,我需要汇编代码,这更加痛苦。有没有人有类似的问题或有一些线索来跟踪这个问题,这对我来说将是很多。

泄露的对象#地址大小负责的库负责的框架Malloc 32字节1 0x600000231ba0 32字节appName firapb_decode_repeated_user_attribute

enter image description here

汇编代码

enter image description here

2 个答案:

答案 0 :(得分:3)

是的,因为Larme说 Firebase 泄漏了内存。

我仍然不知道确切原因(代码行),但 firebase plist 禁用firebase应用分析解决了问题,< / p>

即使您没有在GoogleService-Info.plist 上设置 IS_ANALYTICS_ENABLED =否 ,也不会使用firebase应用分析。 fire base SDK似乎默认执行应用程序分析代码。

解决方案:在GoogleService-Info.plist上添加FIREBASE_ANALYTICS_COLLECTION_ENABLED = NO,消除泄漏问题。

这只是我的感知和观察,这个话题可能需要更多的信息和说明。

答案 1 :(得分:2)

如果要查找发生泄漏的代码区域,请切换到调用树视图。跳转栏位于第一个屏幕截图的顶部。单击跳转栏中的Leaks项,然后选择Call Tree切换到调用树视图。

当您处于调用树视图中时,选中“反转调用树”和“隐藏系统库”复选框将使您更容易在调用树视图中查找代码。从Xcode 8.3开始,复选框位于弹出窗口中,您可以通过单击窗口底部的“调用树”按钮打开该弹出窗口。

enter image description here

早期的Instruments版本有一个显示设置部分,其中包含一个复选框的Call Tree集合。

enter image description here