我正在尝试创建一个MP3播放器,即使应用程序不可见并且用户打开了另一个应用程序,音乐也会继续播放。我不确定我是否在正确的轨道上(没有双关语)。这些是我到目前为止基于我的代码的假设......
最后一个问题,因为我的服务将进行CPU密集型工作(播放音乐)我明白我需要一个新线程来完成这项工作。
我是否在服务中创建了一个新线程来完成这项工作,或让我的活动创建一个新线程并在该线程中运行该服务?
提前致谢, 微米。
答案 0 :(得分:2)
我需要使用服务才能在后台播放音乐。
是
对于此服务,最好使用绑定服务而不是已启动服务。
绝对不是。实际上,它不能仅使用绑定服务来完成,因为一旦活动解除绑定(例如,在onDestroy()
中),服务就会关闭。
我可以通过扩展Binder类来绑定此服务(使用AIDL是过度的,因为不同的我不需要不同的应用程序来访问服务,只有我的应用程序。)
是
服务需要是一个前台服务,这样当内存不足时,它不能成为系统的候选者。
是
我的服务将进行CPU密集型工作(播放音乐)我明白我需要一个新线程来完成这项工作。
MediaPlayer
会自动为您处理。
我是否在服务中创建了一个新线程来完成这项工作,或让我的活动创建一个新线程并在该线程中运行该服务?
这些都不是必需的。