我有一个意图服务,它不断轮询以检查服务器中是否修改了数据。问题是如果应用程序保持空闲一段时间,它将停止接收通知。我们怀疑该服务已被android杀死。
我认为即使GCMINTENTSERVICE也会在一段时间内被机器人杀死。
我的问题是如何在没有前台通知的情况下始终同步gmail / app / yahoo邮件。他们使用哪种同步机制。
您是否知道任何其他应用程序即使在后台也始终收到通知,以便我可以在Google中检查为什么它在一段时间内没有被杀死。
如果gcmintentservice在背景中运行了一段时间,Google是否会将其终止。
编辑:GCMBASEINTENTSERVICE是我们计划为推送通知实施的服务,因为使用较旧的轮询服务,应用程序在一段时间后没有收到通知。这可能是因为它在某段时间内被机器人杀死了。那么通过推送通知,应用程序将始终收到通知?不是Gcmbaseintentservice是一个意图服务,并且在一段时间内也会被android杀死。
答案 0 :(得分:2)
Android会在一段时间后终止服务,以解决内存问题。总是在后台运行应用程序并不是一件好事,因为它会消耗内存和处理能力。
你的想法是错误的。 GMail和Yahoo不会对新邮件进行投票,他们使用的是推送通知机制,更准确地说是 Google Cloud Messaging或GCM 。推送通知可以在后台接收,一旦收到推送通知,他们就会同步应用程序。
BBM (BlackBerry messenger)未使用GCM,因为他们依赖BlackBerry服务器。所以他们在后台运行应用程序而不会被杀死。这是通过始终显示不可刷卡的通知来完成的。通知,您可以在后台运行服务而不会将其杀死。
根据AndroidHeadlines
如果您想使用BBM,可能需要保持持久性。在Android中 4.3,谷歌已经开始打击那些吸收电池并在你不知情的情况下保持活力的应用程序。它现在需要任何想要运行的应用程序 在后台在通知中放置一个持久性图标。 因此BBM图标。这样做可以让特定的应用永远不会 闭合。