1
@property ( nonatomic, strong ) NSURL * urlPath;

self.urlPath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"bark" ofType:@"caf"]];

ARCの実行、展開ターゲット4.3。Instrumentsはself.urlPath=行にリークを与えます。

self.urlPathは、ビューが表示された後でAVSoundPlayerをセットアップするために使用されます。現在、サウンドプレーヤーにはリークは示されておらず、このNSURL行にのみ示されています。オーディオは再生されますが、ビューがポップされるとメモリリークが発生します。

私がこれまで12時間以上行ってきたアイデアは...

4

2 に答える 2

2

iOS6でのみCoreFoundationのメモリリークのようです。

したがって、バグとして提出されました:

バグID#12699818。

于 2012-11-14T15:45:05.793 に答える
0

プレーヤーがリークしています。プレーヤーがリークした場合、すべてのプレーヤーはURLと文字列オブジェクトも保持します。

self.player = [[[AVAudioPlayer alloc] initWithContentsOfURL:pingURL error:nil] autorelease];

player保持プロパティとして宣言した場合は、

self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:pingURL error:nil];

参照カウントは2のままになります。

self.player = nil;

1になります。

于 2012-11-09T14:49:26.117 に答える