Objective-C:为什么这是内存泄漏?

cod*_*der 1 memory-leaks memory-management objective-c

我在我的目标C代码中得到内存泄漏,我不明白.我在一个多次调用的方法中有这个代码:

AnalyzeBpm *analyzer  = [[AnalyzeBpm alloc] init];  

while( sample != NULL)
{
//do something with analyzer
}

[analyzer release];
Run Code Online (Sandbox Code Playgroud)

当我通过Instruments运行此代码时,每次分配Analyze Bpm时都会出现泄漏(这是几百次).我查看了我的AnalyzeBpm类,我在该类中分配的所有内容都被释放或取消分配.那么为什么这段代码会造成内存泄漏呢?

bbu*_*bum 5

当Instruments识别泄漏时,它会向您显示分配泄漏的代码行,而不是导致泄漏的代码行.

在某处某些东西保留analyzer而不释放它.你需要发现那种不平衡retain.它可能会也可能不会在AnalyzeBpm课堂上.