MPMediaickerController由泄漏仪识别的内存泄漏

问题描述:

这是Apple的Addmusic示例中的代码。MPMediaickerController由泄漏仪识别的内存泄漏

MPMediaPickerController *picker = 
    [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic]; 

picker.delegate      = self; 
picker.allowsPickingMultipleItems = YES; 
picker.prompt      = NSLocalizedString (@"Add songs to play", "Prompt in media item picker"); 

// The media item picker uses the default UI style, so it needs a default-style 
//  status bar to match it visually 
[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleDefault animated: YES]; 

[self presentModalViewController: picker animated: YES]; 
[picker release]; 

我用我的应用程序的代码和泄漏仪器突出就行了泄漏:

[self presentModalViewController: picker animated: YES]; 

我认为,这是因为该行保留选择器不能做个参考随后发布。

有没有办法解决这个问题,或者泄漏是否错误地识别泄漏?

+0

发布您是否找到了解决此问题的方案? 即使对于Apple的“AddMusic”MPMediaPickerController示例,仪器也会在每次简单打开拾取器后显示100kB的内存使用量增长,然后使用完成按钮取消它。 – zubko 2012-05-12 13:36:37

它可以通过致电dismissModalViewControllerAnimated:

+0

因此,这是否意味着仪器错误地识别了泄漏,因为我在代码中执行dismissModalViewControllerAnimated:稍后? – Joe 2010-04-01 08:15:27

+0

我不确定。我想知道为什么[拾取器发布]行在那里,但为什么调用代码会释放它,如果它没有保留它呢? – 2010-04-01 08:39:47

+0

选择器保留与[MPMediaPickerController alloc]线,所以它必须释放与[选择器发布] – Joe 2010-04-01 09:34:28