我应该使用服务而不是后台活动吗?

时间:2012-10-17 17:15:19

标签: android service

现在我有一个可以播放音乐的mp3播放器,我想知道我应该使用服务而不是活动。

我有两种方式在后台播放音乐(当用户按下后退按钮时继续播放)

  1. 当用户按下后退按钮时,我会覆盖onBackPressed()并将活动移至背景状态,就像用户按下主页按钮一样,因此当用户再次启动我的应用时,它将按预期显示。

  2. 我读了一些关于覆盖onBackPressed()的文章,有些人说在后台做一些工作不是一个好方法,更好的方法就是使用服务。 :)。所以我的想法是当用户按下后退按钮时,我调用finish()来销毁和释放活动,然后我创建一个服务,可以从活动结束点播放音乐,并通知帮助用户可以返回主要活动。

  3. 我认为第一种方法非常简单易于实施,但不推荐。而第二个更好但更复杂,我不认为这样可以优化记忆而不是第一个。

    我非常想知道应该使用哪一个。请告诉我上述两种方式中较好的方法,或者如果您最近有类似的工作经验,请在这种情况下告诉您的方法。

    谢谢。

2 个答案:

答案 0 :(得分:1)

您应该使用服务。

最好使用Ongoing Notification

这将阻止您的服务被系统杀死。

查看mediaplayer guide

答案 1 :(得分:0)

如果我理解你的问题,你应该使用服务。

请参阅media player guide