當我使用AudioToolBox播放音樂時,內存嚴重泄漏。iOS6中的AudioToolBox泄漏?
AVAudioPlayer *newMusicPlayer = [[AVAudioPlayer alloc] initWithData:data error:&error];
我使用此代碼播放音樂。在iOS5和iOS4中,它可以正常工作。但在iOS6中,如果數據大小爲5M,則所有5M都會泄露。在樂器中我看不到泄漏信息。
有沒有人有同樣的問題?任何建議將不勝感激。
我所有的音頻代碼在這裏(使用ARC):
@implementation ViewController
{
AVAudioPlayer *_player;
}
- (void)play
{
if (_player)
{
[_player stop];
_player = nil;
}
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"test.app/1.mp3"];
NSData *musicData = [[NSData alloc] initWithContentsOfFile:path];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:musicData error:nil];
player.volume = 1;
if (player)
{
_player = player;
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(100, 100, 100, 100);
[button setTitle:@"play" forState:UIControlStateNormal];
[button addTarget:self action:@selector(play) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
@end
檢查發佈說明確切地做了一些改變!在ios6 – 2012-09-23 14:28:52
你是否觀察到iOS模擬器或設備中的內存泄漏?或兩者? –
在模擬器中。事實上,我無法在4.5的樂器上獲得設備上的objc符號,只有c符號顯示 – OpenThread