1

有时,当我的应用程序中有很多事情发生时,我正在使用 SoundPool 播放许多声音,我的应用程序会完全冻结。查看日志,我看到:I/AudioHardwareMSM72XX(56):AudioHardware pcm 播放将进入待机状态。

然后必须强制关闭并重新启动我的应用程序。有谁知道可能是什么原因造成的,或者可能的解决方法?我无法在模拟器中重现这个 - 只能在我的 HTC Hero 上重现,所以我想知道这是否是设备特定的错误。

4

1 回答 1

1

这有两个可能的原因。

原因 1:如果您不保留对 MediaPlayer 对象的引用,即使它正在播放某些内容,它也会被垃圾收集。我在播放声音的重复计时器中有一些代码,我必须将 MediaPlayer 分配给一个静态变量以阻止它被垃圾收集,并且声音中途停止的问题消失了。

原因 2:我已经读到,如果您正在流式传输,可能会给 MediaPlayer 提供太多数据并且它会死掉 - 请参阅此讨论主题:/593575">http://www.last.fm/group/Last.fm +安卓/论坛/114391//593575

于 2011-05-17T13:45:41.583 回答