像WhatsApp这样的应用程序,应该使用Android Service还是IntentService?

4

我正在开发一款聊天应用。当用户连接到互联网时,服务器会为他推送消息通知。

对于新的消息通知,我应该使用Service还是IntentService?这个服务/ IntentService必须在启动时启动,并且即使我们关闭了应用程序,它也不应该停止。


使用Google Cloud Messaging。 - Karakuri
1
我开发了一个定制的通知系统,可以在网站和iOS上运行。 我不想使用GCM。 - Mouhannad Bar
1个回答

3
我相信如果您正在使用自己的推送通知系统,它可能是基于与后端保持连接/套接字打开的方式。由于Android不允许在主线程上进行网络操作,因此您将不得不在后台线程上执行此操作。
IntentService只是将启动命令(通过context.startService()发出)排队并在后台线程上串行执行它们;一旦该队列用尽,它就会自动停止。这对于在较不稳定的生命周期中执行相对较短的任务非常有用,并且可以在没有Activity的情况下执行。但是这听起来并不适合必须始终保持活动状态的任务,因此我认为您应该坚持使用常规的Service并管理自己的工作线程以将网络操作放在后台。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接