【问题标题】:why does memory leak still occur with ARC?Does it matter?为什么 ARC 仍然会发生内存泄漏?这有关系吗?
【发布时间】:2017-08-15 20:17:59
【问题描述】:

我使用仪器来测量我的应用程序。它显示了一些内存泄漏,并且我的应用程序使用 ARC。

这是泄漏的图片。

问题是:

1.我们可以看到内存泄漏的大小在1KiB左右,大部分都比较小。我不关心有关系吗?

2.我们可以看到发生内存泄漏的实例的地址,我可以找到它(在代码中,我想),所以我可以修复它,以及如何修复它?

【问题讨论】:

    标签: ios objective-c swift memory-leaks


    【解决方案1】:

    因为可能使用了没有被释放的对象的强实例。并且总是在块下使用弱引用。

    举例

    __weak typeof(self) weakSelf = self;
        dispatch_async(dispatch_get_main_queue(), ^{
            weakSelf.drawingView.center = weakSelf.center;
        });
    

    也可以有保留周期。 请使用调用树来解决。然后分析代码。

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 2016-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2011-06-28
      • 2011-01-17
      相关资源
      最近更新 更多