android最好的方法来防止服务被杀?

Jac*_*ani -2 service android

旨在开发一个小应用程序来获取最新文章并展示它们 notifications bar

我知道设置service foreground它杀死电池和设备内存的坏主意

而且正如我们所知,有一些应用程序每x分钟就会杀死所有正在运行的服务,例如advanced task killer我的服务也已经被杀死,所以在用户再次午餐之前,目的不是获取最新消息

我用谷歌搜索了如何防止我的服务被杀,我找不到一个好的解决方案,他们大多数都太老了,其余的都没用

我真的需要一个建议是否有任何方法可以防止我的服务被杀死没有foreground

非常非常感谢任何帮助

A--*_*--C 8

我知道将服务前景设置为杀死电池和设备内存的坏主意

并不是的.如果您制作前台服务,则告诉Android确定其优先级,并确保您的服务是内存不足时最后被杀死的服务.

如果你所做的只是启动一个什么都不做的前台服务,那么就不会消耗额外的CPU周期,从而导致最小的电池丢失.

可以理解的是,由于服务正在运行,应用程序本身正在运行,这意味着一些内存已用完.

然而,这并不是因为杀死电池和内存.

至于处理服务死亡.如果不提供服务前景,您将失去优先级.但请记住,如果Android需要回收内存,即使是前台服务也会被终止.

如果一个任务杀手扼杀了你的应用程序,你做不了多少,它基本上是用户强行关闭的.正如在另一个答案中提到的,您可以使用AlarmManager来安排重复的Intents.可以说,这将消耗更多的电池,因为您将唤醒设备以执行BroadcastReceiver.

但是,如果Android本身已经杀死了您的服务,那么 一旦内存再次可用,如果您START_STICKYonStartCommand()它返回,它将重新创建您的服务.