私が理解していない私の目的のCコードでメモリリークが発生しています。Objective-C:これはなぜメモリリークですか?
AnalyzeBpm *analyzer = [[AnalyzeBpm alloc] init];
while(sample != NULL)
{
//do something with analyzer
}
[analyzer release];
私は楽器を通じて、このコードを実行すると、私は(百倍のカップルである)BPMを分析割り当てるリーク毎回取得:私は数回呼び出されるメソッドで、このコードを持っています。私はAnalyzeBpmクラスを調べました。そのクラスに割り当てられているものはすべて解放または割り当て解除されます。では、なぜこのコードはメモリリークを引き起こしていますか?
"do something" while()ブロックに "analyzer"を保持しませんか? –
ループ内の「アナライザ」はどうしますか?ここにあるスニペットは漏れにつながりません。また、iOSシミュレーターでこれを実行していますか?これは、デバイスに存在しないいくつかの余分なリークが表示されることがあるためです。 –
私はこれを言うのは嫌ですが、あなたはAnalyzeBpmクラス内の何かを見落としているかもしれません。静的なAnalyzerツールをコード上で実行し、何かが出てくるかどうか確認してください。 – MechEthan