【问题标题】:How we can check that certain object is released memory我们如何检查某个对象是否已释放内存
【发布时间】:2017-02-16 01:17:15
【问题描述】:

当我开始在 swift 中工作时,我对内存管理感到好奇。众所周知,在任何对象创建或将数据分配到该对象期间,它都会占用内存。我们如何检查特定对象是否已释放内存。我使用xcode内存报告查看内存状态和波动。

以下是图片示例:

如果我已经在对象中设置了 nil,如何释放内存。

【问题讨论】:

  • 感谢您的评论,但是我也通过仪器检查分配和泄漏。好的,我会照你说的做......
  • “我们如何检查特定对象是否已释放内存”“如果我已经将 nil 设置为对象,如何释放内存” 是两个不同的问题。
  • 是的,因为两者只有一个目的是获得释放内存。理由的最后一行。

标签: ios objective-c swift


【解决方案1】:

使用工具来跟踪对象的生命周期,而不仅仅是 Xcode,因为它可以为您提供更高级别的分配详细信息。

https://stackoverflow.com/a/14891837/5133769 上查看答案。虽然它是用旧仪器解释的,但它仍然有效。

【讨论】:

    【解决方案2】:

    有些对象非常小,可能很难在内存分析中看到哪个对象被释放。此工具有助于查找应用程序中的内存泄漏。要检查某个对象是否从内存中释放,您可以在目标 c 的 dealloc() 方法和 swift 的 deinit() 方法中设置断点或日志。

    【讨论】:

      【解决方案3】:

      建议使用工具检查泄漏或分配。

      您还可以设置断点或将日志添加到 dealloc 方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-09
        • 2011-11-16
        • 2022-08-16
        • 2010-12-12
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 2013-08-20
        相关资源
        最近更新 更多