【问题标题】:Unable to track memory issue无法跟踪内存问题
【发布时间】:2017-04-18 05:11:19
【问题描述】:

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

Leaked Object # Address Size Responsible Library Responsible Frame Malloc 32 Bytes 1 0x600000231ba0 32 Bytes appName firapb_decode_repeated_user_attribute

汇编代码

【问题讨论】:

  • 请停止添加不当标签。请阅读 Apple 标签的说明。
  • 我认为该标签与此问题有关,也可能与 sdk 相关。
  • @dip 不,阅读 Apple 标签的描述:“请勿使用此标签!!!Apple 是制造 Mac 和 iOS 设备的公司。使用与操作系统和设备/计算机更相关的标签你的目标是。”。所以瞄准iOS。此外,您的问题似乎与 FireBase 或您的实现有关。你检查过 FireBase (FIRA...Stuff) 吗?
  • 好的,是的,我怀疑是 firebase,但 FIRA 只是试图将 firebase 与此问题联系起来的词,我现在将在此处标记 firebase,顺便说一句。
  • 你在上面找到什么了吗?我也有一些与firapb_decode_repeated_user_attributefirapb_decode_repeated_setting 的泄漏...我似乎与Firebase 一起来的,仅此而已...

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


【解决方案1】:

是的,正如 Larme 所说,是 Firebase 泄漏了内存。

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

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

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

这只是我的看法和观察,这个话题可能需要更多的信息和补偿。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 谢谢,我会尝试反转调用树。
    猜你喜欢
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多