根据需要使用IntentService
进行后台MediaPlayer
播放是否合理?根据{{3}} IntentService
只有在实际工作时才会持续。考虑到每当我想再次播放曲目时每次重新初始化MediaPlayer
所产生的开销,这似乎是一个糟糕的想法......
所以我的问题是:使用这种Service
实际产生的开销有多大。它会对系统/应用程序的性能产生可察觉的影响吗?我应该使用我自己的Service
实现与专用工作线程吗?
答案 0 :(得分:11)
根据需要使用IntentService进行后台MediaPlayer播放是否合理?
恕我直言,不,因为你无法以这种方式真正改变曲目。此外,您需要知道轨道何时完成,除非泄漏内存,否则您不能这样做。最后,这意味着Android将终止您的进程,可能在onHandleIntent()
结束后几毫秒,这将使一个无用的音乐播放器。
我应该使用自己的Service实现与专用的工作线程吗?
您可能不需要线程,因为MediaPlayer
已经异步。只有你自己做网络I / O或磁盘I / O或其他东西时,你才可能需要自己的线程。但拥有Service
- 可能是前景Service
- 是音乐播放器的典型方法。