2010-10-06 45 views
1

我想写一个Android应用程序,它将允许用户收听广播电台。Android,我应该为MediaPlayer提供服务吗?

我有启动和停止按钮来工作,它播放流。如果我按Home键并开始用手机做其他零碎的事情,那么流会继续播放。这是我希望它工作的方式。

我应该麻烦创建一个播放流的服务,还是我已经使用的方法够用了?在服务中带来什么好处?网上很多教程和示例似乎都使用了服务,但在我看来,这只是在代码中增加了额外的复杂性。还是更有效率?

问候, 大卫

回答

2

你并不需要使用服务,但您的用户可以正常使用条件下发现,回放意外停止,这取决于正常使用的情况下,所以服务是最好的方法。

原因是由于您的流媒体对象/媒体播放器当前附加到的活动的生命周期。

在某些时候,系统将会完全释放活动,现在用户不再可以看到它,并且一旦GC发生回放就会停止。这将根据内存压力以及用户采取的其他操作(如启动其他应用程序)而发生。服务允许延长使用寿命,一般而言,只有在所有其他后台活动发布后但在前台活动之前,服务才会发布。关于服务的流程生命周期规则的更完整的描述可以在Android文档中找到here.

您可能还想看看PowerManager和PARTIAL_WAKE_LOCK的使用,当手机正常睡眠时这将允许播放继续以电池寿命为代价)。

相关问题