内存泄漏 - NSString& NSURL

时间:2012-11-09 14:18:04

标签: ios nsstring avaudioplayer memory-leaks nsurl

@property ( nonatomic, strong ) NSURL * urlPath;

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

运行ARC,部署目标4.3。仪器在self.urlPath = line上发生泄漏。

稍后在出现设置AVSoundPlayer的视图后使用self.urlPath。现在声音播放器上没有指示泄漏,仅在此NSURL线路上。播放音频,但是当弹出视图时会发生内存泄漏。

我一直在这个想法>现在12小时......

2 个答案:

答案 0 :(得分:2)

仅在iOS 6中似乎是Core Foundation中的内存泄漏。

因此提交了一个错误:

错误ID#12699818。

答案 1 :(得分: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。