Android更适合服务自我或永不停止

时间:2014-07-05 18:19:18

标签: java android android-service

我的项目服务只启动一次,在服务内部有一个每秒运行一次的线程。

然后有一些服务,在他们完成程序后,他们会自行调用,然后再次启动它们。

我的问题是哪种结构更适合服务?为什么?

2 个答案:

答案 0 :(得分:3)

如果您经常开始并完成服务,请尝试使用IntentService 它在工作完成后自动关闭。 Developer Guide

答案 1 :(得分:0)

k0sh说的是什么。如果您的服务正在运行,则它正在使用电池。如果您不需要它运行,请将其停止并节省电量。

正在运行的服务和已停止的服务之间的区别在于运行它的进程将被终止的可能性。正在运行的服务具有相当高的优先级(低oom_adj)。 Android会尽量不要杀掉它。未运行的服务不会影响其拥有进程的优先级。如果没有其他理由来保持这个过程,Android会在需要空间时将其杀死。

尽管如此,即使是正在运行的服务也将最终获得收益。没有办法让进程永远运行。