我的应用程序有什么更好的?IntentService或Service?

时间:2012-11-03 02:19:27

标签: android service intentservice

我研究了两者,而且IntentService非常简单,而服务对我来说有点混乱..我在这里看到了很多问题而且我倾向于IntentService,但我担心在我工作的某些方面,IntentService不是首先要去的地方,...这就是我的游戏将要做的事情。在Farmville中有点类似

  1. 创建新游戏,游戏内日期为每周,从第1周开始。数据存储在SQLiteDB中
  2. 启动IntentService,IntentService会做这件事。完成每项任务后,通过NotificationManager通知用户

    • 每8小时更新一周。 (1周= 8小时,使用闹钟 经理)当周更新时,即第1周到第2周,IntentService 将检查“植物准备好收获”
    • IntentService也会每周随机化天气
    • 检查和更新动物/植物状况
    • 做更多随机事
    • 停止intentService
    • 8小时后再次运行Intentservice。
  3. 这就是我的游戏应该做的,是IntentService的方式,还是服务? IntentService可以处理这个吗?我真的很想要这个服务,但是根据我对文章和这里所读内容的理解,它应该仅用于“同时进行多个过程”,我的游戏可以承受不使用该功能。

    另外,我可以制作另一个IntentService吗?这项服务必须每隔5分左右运行一次..如果没有,那就好了..谢谢

2 个答案:

答案 0 :(得分:2)

IntentService在后​​台运行seperate Thread,因此服务中完成的任何操作都不会影响用户界面。但是一旦服务完成它所做的事情,服务就会自行终止。

service也在UI thread的背景中执行操作,因此,如果您有任何时间需要完成的事情,它将会占用UI。这也会一直运行,直到你告诉它大部分停止。

如果您使用闹钟触发所有内容,我会说IntentService很好。

答案 1 :(得分:1)

我建议在你的情况下使用IntentService + AlarmManager对。

IntentService创建一个队列和后台线程来处理作业,这样您就可以确保所有内容都是一个接一个地运行。它在500行代码结束后也会完成并关闭,它也可以进行数据库更新。

服务更适合在后台工作,如在线播放音乐等。您启动服务,手动关闭服务。对于IntentService,它是自动的。