0

在 iOS 上使用 AVAudioPlayer 播放声音后,我观察到一个线程继续运行并消耗大约 3% 的 CPU。它似乎与 HAL 的东西(硬件抽象层)有关。如何实现全面清理并让我的应用闲置?它在本地变量中被引用,并在播放结束后正确释放。我注意到如果我只是实例化 AVAudioPlayer 但从不调用 play 方法,则不会创建该线程。该应用程序处于空闲状态。有任何想法吗?

注意:我不赞成这个问题,因为我意识到这个问题只在模拟器上。在这里找到解释http://lists.apple.com/archives/coreaudio-api/2006/Jul/msg00022.html

4

2 回答 2

1

使用 3% cpu 的对象的确切名称如何?

您是否尝试过在仪器中运行该应用程序?

仪器使用手册

尤其要检查泄漏及其产生的位置。

于 2013-06-28T14:16:40.987 回答
0

尝试下面的代码并将您的音频播放器对象设置为 nil。

NSError *error;
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
于 2013-07-01T13:27:08.573 回答