【问题标题】:How to solve memory leak at assigning string value如何解决分配字符串值时的内存泄漏
【发布时间】:2013-02-18 08:21:07
【问题描述】:

我观察到此代码存在内存泄漏。我已经在这堂课上发布了workingEntry。

self.workingEntry.duration = [NSString stringWithFormat:@"%02d:%02d",[result minute], [result second]];

我使用 Xcode 中的工具来检查它。我该如何解决这种内存泄漏?

【问题讨论】:

  • 您可以先提供有关duration 属性的更多信息。
  • duration 是 VDRec 的一个属性。workingEntry 是 VDRec 的一个对象。
  • 当您使用ARC 时,应该没有内存泄漏。否则你必须释放duration
  • 我没有使用 ARC,因为我使用的一些第三方名器与 ARC 不兼容。
  • 将 -fno-objc-arc 添加到您不需要 ARC 的文件的编译器标志中。在 Xcode 4 中,您可以在 target -> Build Phases -> Compile Sources 下执行此操作。

标签: ios memory-leaks instruments


【解决方案1】:

如果你在 Scheme:Diagnostics 中打开了 Zombies,那么内存将不会被释放,一切看起来都像是内存泄漏。仅在 Zombies 关闭时使用 Instruments 测试内存泄漏。

【讨论】:

    【解决方案2】:

    手动释放workingEntry时为什么不分配init和release。

    self.workingEntry.duration = [[NSString alloc]initWithFormat:@"%02d:%02d",[result minute], [result second]];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2018-04-11
      • 2020-04-07
      相关资源
      最近更新 更多