使用IntentService进行MediaPlayer播放

时间:2013-08-08 11:58:26

标签: android android-intent android-service android-mediaplayer

根据需要使用IntentService进行后台MediaPlayer播放是否合理?根据{{​​3}} IntentService只有在实际工作时才会持续。考虑到每当我想再次播放曲目时每次重新初始化MediaPlayer所产生的开销,这似乎是一个糟糕的想法......

所以我的问题是:使用这种Service实际产生的开销有多大。它会对系统/应用程序的性能产生可察觉的影响吗?我应该使用我自己的Service实现与专用工作线程吗?

1 个答案:

答案 0 :(得分:11)

  

根据需要使用IntentService进行后台MediaPlayer播放是否合理?

恕我直言,不,因为你无法以这种方式真正改变曲目。此外,您需要知道轨道何时完成,除非泄漏内存,否则您不能这样做。最后,这意味着Android将终止您的进程,可能在onHandleIntent()结束后几毫秒,这将使一个无用的音乐播放器。

  

我应该使用自己的Service实现与专用的工作线程吗?

您可能不需要线程,因为MediaPlayer已经异步。只有你自己做网络I / O或磁盘I / O或其他东西时,你才可能需要自己的线程。但拥有Service - 可能是前景Service - 是音乐播放器的典型方法。