另一个iPhone内存泄漏问题!

时间:2009-08-25 06:20:08

标签: iphone memory-leaks

我有一个简单的例子,说明了我对iPhone内存管理的不了解:

- (IBAction)AssignAndReleaseOne :(id)sender {
    for (int i=0;i<10;i++) {
        someString = [[NSString alloc] initWithString:@"String Assigned"];
    }
    [someString release];
}

- (IBAction)AssignAndReleaseTen :(id)sender {
    for (int i=0;i<10;i++) {
        someString = [[NSString alloc] initWithString:@"String Assigned"];
        [someString release];
    }
}

我希望在第一种方法中出现内存泄漏,因为我只用一个版本分配10次(或者它是11 :),但是Instruments没有报告任何错误?

我或者仪器是否正确?

谢谢Chris。

2 个答案:

答案 0 :(得分:2)

令人惊讶的是,你不会泄漏。见:

Memory issue of NSString

答案 1 :(得分:0)

你应该得到你期望的内存泄漏。

仪器的泄漏检测算法运行起来很昂贵,所以它只在指定的时间后执行(我认为默认为10秒)。在仪器拿起泄漏之前,您可能必须让应用程序运行一段时间。