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

Seems to be a memory leak in Core Foundation only in iOS 6.

Therefore filed as a bug:

Bug 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 回答