仪器泄漏工具中没有显示简单的泄漏

时间:2010-12-08 10:08:32

标签: objective-c

为什么当使用Instrument-Leaks工具执行以下代码(故意泄漏)时,是否显示NSObject存在泄漏,而不是NSDate?当我使用Analyze静态分析工具运行时,它们都会显示出来。

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {

    NSObject* obj = [NSObject alloc];
    obj = [NSObject alloc];

    NSDate* date = [NSDate alloc];
    date = [NSDate alloc];

    sleep(10); // time to allow leaks to pick up sample
    return 0;
}

1 个答案:

答案 0 :(得分:2)

这只是一个假设:NSDate可以实现一些非常难以实现的性能攻击,这使得-alloc方法返回缓存值。