【问题标题】:how to solve Instruments detected leaks whose responsible library is Apple's framework?如何解决 Instruments 检测到的泄漏,其负责的库是 Apple 的框架?
【发布时间】:2011-04-24 05:28:26
【问题描述】:

我正在使用 Instruments Leaks 工具检查我的应用程序中的内存泄漏。

在修复了负责库是我的应用程序的所有泄漏之后。根据 Instruments 的说法,我发现仍然有很多漏洞,其负责的库是 iOS 的框架?

这是一个screenshot 的 Intruments:

我认为这些泄漏可能是由于我对框架方法的一些滥用造成的。 遇到此类泄漏时,您的处理方法是什么?

谢谢!

【问题讨论】:

    标签: iphone xcode memory-leaks instruments


    【解决方案1】:

    Apple 开发人员也是人,他们也会犯错误。另一种选择是创建您自己的与 Apple 完全相同的框架,但这不是一件好事,因为 Apple 肯定会在未来提出升级和修复来解决这些问题。

    唯一的解决方案是向 Apple 报告有关内存泄漏的错误,即使我已经看到该框架有很多内存泄漏。

    内存泄露还有其他原因,instrument可能会显示apple的框架有内存泄露,但不一定是框架的代码不好,确实可能是我们代码中没有遵循的bug正确的步骤,例如我们添加观察者但我们不移除它们,我们绑定事件但我们不移除它们,所以如果我们没有正确完成清理操作,仪器可能会显示泄漏但在其他地方。

    【讨论】:

    • "确实可能是我们的代码中的错误,我们没有遵循正确的步骤"
    【解决方案2】:

    我的一个应用程序也注意到了同样的情况,最后,在试图找出我做错了什么之后,我得出的结论是我没有做错任何事情,并且 Apple 的框架存在内存泄漏好吧。

    所以我认为你无能为力。

    【讨论】:

    • 顺便说一句,我们的应用程序运行后出现泄漏是不好的,不管谁负责。如何尝试找出可能引入泄漏的哪种方法(例如加载笔尖或类似的东西),然后用更安全的方法替换它们。你有这方面的经验吗?
    猜你喜欢
    • 2012-01-05
    • 2012-10-04
    • 2013-11-14
    • 1970-01-01
    • 2015-09-14
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多