旨在开发一个小应用程序来获取最新文章并展示它们 notifications bar
我知道设置service foreground它杀死电池和设备内存的坏主意
而且正如我们所知,有一些应用程序每x分钟就会杀死所有正在运行的服务,例如advanced task killer我的服务也已经被杀死,所以在用户再次午餐之前,目的不是获取最新消息
我用谷歌搜索了如何防止我的服务被杀,我找不到一个好的解决方案,他们大多数都太老了,其余的都没用
我真的需要一个建议是否有任何方法可以防止我的服务被杀死没有foreground?
非常非常感谢任何帮助
我知道将服务前景设置为杀死电池和设备内存的坏主意
并不是的.如果您制作前台服务,则告诉Android确定其优先级,并确保您的服务是内存不足时最后被杀死的服务.
如果你所做的只是启动一个什么都不做的前台服务,那么就不会消耗额外的CPU周期,从而导致最小的电池丢失.
可以理解的是,由于服务正在运行,应用程序本身正在运行,这意味着一些内存已用完.
然而,这并不是因为杀死电池和内存.
至于处理服务死亡.如果不提供服务前景,您将失去优先级.但请记住,如果Android需要回收内存,即使是前台服务也会被终止.
如果一个任务杀手扼杀了你的应用程序,你做不了多少,它基本上是用户强行关闭的.正如在另一个答案中提到的,您可以使用AlarmManager来安排重复的Intents.可以说,这将消耗更多的电池,因为您将唤醒设备以执行BroadcastReceiver.
但是,如果Android本身已经杀死了您的服务,那么 一旦内存再次可用,如果您START_STICKY从onStartCommand()它返回,它将重新创建您的服务.
| 归档时间: |
|
| 查看次数: |
6569 次 |
| 最近记录: |