Memory leaks AudioToolbox库AVAudioPlayer中存在内存泄漏
AVAudioPlayer对象是否存在内存线索问题?我在模拟器中使用AVAudioPlayer时内存泄漏。我如何创建AVAudioPlayer并不重要。我使用了Memory leaks AudioToolbox库AVAudioPlayer中存在内存泄漏,memory-leaks,avaudioplayer,audiotoolbox,Memory Leaks,Avaudioplayer,Audiotoolbox,AVAudioPlayer对象是否存在内存线索问题?我在模拟器中使用AVAudioPlayer时内存泄漏。我如何创建AVAudioPlayer并不重要。我使用了initWithContentsOfURL和InitWithData。下面是一段代码。完整项目@Github 但是,在设备上测试时没有内存泄漏。这个问题开始倾向于AudioToolBox库的问题,但我只想和stackoverflow的人确认一下。我在使用AVAudioPlayer时也遇到了同样的内存泄漏问题。我在网上看到了一些关于AVAu
initWithContentsOfURL
和InitWithData
。下面是一段代码。完整项目@Github
但是,在设备上测试时没有内存泄漏。这个问题开始倾向于AudioToolBox库的问题,但我只想和stackoverflow的人确认一下。我在使用AVAudioPlayer时也遇到了同样的内存泄漏问题。我在网上看到了一些关于AVAudioPlayer和VideoPlayer库类似泄漏事件的帖子。这似乎是图书馆本身的问题(归咎于苹果):
编辑:在设备上运行目标时,还可以看到泄漏消失。刚刚运行了一个测试,因为我遇到了相同的问题。当使用AVAudioPlayer播放声音时,仪器显示应用程序开始时出现泄漏。一开始只注册了一次。随后发出的声音没有进一步泄漏 当我使用仪器在iPhone上运行相同的应用程序构建时,根本没有泄漏 我运行的是iOS 11.2.5,Xcode部署目标是11.0 看起来这只是一个Xcode错误,但可能与MacOS有关
NSError *error;
NSURL *playerURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Bell" ofType:@"m4a"]];
self.playerWithURL = [[AVAudioPlayer alloc] initWithContentsOfURL:playerURL error:&error];
if (!playerWithURL) {
NSLog(@"no %@.%@: %@",@"Introduction2", @"m4a", [error localizedDescription]);
}
playerWithURL.volume = 0.9f;
playerWithURL.numberOfLoops = 0;
[playerWithURL play];