单例类内存泄漏

时间:2011-01-28 11:29:07

标签: iphone objective-c xcode ios

我按照this tutorial的说明设置了一个单例,但是当我分析它时,我看到以下内存泄漏:

enter image description here

如何在我的单件类中纠正这种内存泄漏?

4 个答案:

答案 0 :(得分:6)

我认为编写该教程的人没有写下这个:

 [[self alloc] init];
相反,它应该是:

_sharedMySingleton = [[MySingleton alloc]init];

我希望它有所帮助

答案 1 :(得分:5)

您不会将分配分配给变量。将其更改为:

+(MySingleton*)sharedMySingleton
{
    @synchronized(self)
    {
      if (!_sharedMySingleton)
           _sharedMySingleton = [[self alloc] init];
    }

    return _sharedMySingleton;
}

编辑我的打字速度太慢,其他人已经回复:)

答案 2 :(得分:0)

看起来当你返回_sharedMySingleton时,它仍然是零。因此也是下次分配的。你应该在完成alloc时尝试设置它。

答案 3 :(得分:0)

[[self alloc] init]; - 未分配给对象