按需使用IntentService
后台播放是否合理?MediaPlayer
根据开发人员指南,IntentService
只有在实际工作时才会持续。考虑到每次我想再次播放曲目时重新初始化的开销MediaPlayer
,这似乎是一个坏主意......
所以我的问题是:使用这种Service
. 它会对系统/应用程序的性能产生明显的影响吗?我应该使用我自己Service
的专用工作线程实现吗?
按需使用IntentService
后台播放是否合理?MediaPlayer
根据开发人员指南,IntentService
只有在实际工作时才会持续。考虑到每次我想再次播放曲目时重新初始化的开销MediaPlayer
,这似乎是一个坏主意......
所以我的问题是:使用这种Service
. 它会对系统/应用程序的性能产生明显的影响吗?我应该使用我自己Service
的专用工作线程实现吗?
按需使用 IntentService 进行后台 MediaPlayer 播放是否合理?
恕我直言,不,因为您不能以这种方式真正更改曲目。此外,您需要知道轨道何时完成,而您不能这样做,除非泄漏内存。最后,这意味着 Android 将终止您的进程,可能在onHandleIntent()
结束后几毫秒,这使得音乐播放器毫无用处。
我应该使用自己的 Service 实现和专用的工作线程吗?
您可能不需要线程,因为其中大部分MediaPlayer
已经是异步的。只有当您自己进行网络 I/O 或磁盘 I/O 或其他事情时,您才可能需要自己的线程。但是拥有一个Service
——并且可能是一个前景Service
——是音乐播放器的典型方法。