仪器不会发现任何泄漏的iPhone。



我正在努力学习仪器是如何工作的,要做到这一点,我创建了一个泄漏的小项目,看看它是否出现在仪器中,但它没有出现。我必须创建泄漏的代码如下:

-(IBAction)leakme
{
    self.leaked = [[NSString alloc]init];
    self.leaked2 = [[NSString alloc]init];
    self.leaked3 = [[NSString alloc]init];
    leaked = @"John";
    leaked2 = @"Anderson";
    leaked3 = @"Smith";
}

没有显示任何泄漏。由于应用程序从未到达dealloc方法,我做了以下操作:

-(IBAction)nilit
{
    self.leaked = nil;
    self.leaked2 = nil;
    self.leaked3 = nil;
}

但仍然没有显示泄漏。我错过了什么?

谢谢。

实际上并没有分配任何东西;NSString在内部进行了优化,使得[[NSString alloc] init]返回一个单例。

使用NSMutableString或使用您自己创建的类(更好)

最新更新