对象泄漏:以后在此执行路径中未引用已分配的对象,并且保留计数为+1

时间:2012-01-17 16:54:19

标签: iphone

分析应用程序后发现此消息对象泄露:此执行路径中未引用已分配对象,并且这些行上的保留计数为+1

 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"theme" 
                                                     ofType:@"mp3"];

 NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];

对于这句话,它说

   self.audioPlayer.currentTime = 0;
分配并存储到fileURL中的

对象稍后未在此异常路径中引用,并且保留计数为+1

任何想法如何解决它。

由于

2 个答案:

答案 0 :(得分:2)

可能是fileURL已泄露。你是alloc - 但是我打赌你完成后不会发布它。

答案 1 :(得分:1)

这意味着您的代码中有一些路径(它应该愿意向您展示),您无法释放fileURL - 可能您会在某种情况下进行某种理智检查并提前退出但是没有清理干净?

显而易见的解决方案是将fileURL创建为自动释放的对象,并在您知道自己确实想要保留它时保留它,或者只是执行该操作而不是在方法的下方显式释放。