0

这是我第一次尝试android服务,所以我有点迷茫。我正在开发一个需要服务始终在后台运行的应用程序。该服务是从主活动中的 onclick 事件初始化的。要启动服务,我使用以下代码:

Intent Test = new Intent(this, testService.class);
startService(Test);

在服务中我基本上有两件事。在 onCreate 方法中,我初始化了一个计时器,它每 30 分钟打开一个新线程并检查服务器是否有任何新数据。在 onStart 方法上,我注册了一个接收器。

几个小时后服务被杀死,垃圾收集器是否有可能正在删除服务?我怀疑我初始化服务的方式仍然绑定到活动“主”进程。我可以做些什么来确保服务继续运行?

谢谢

4

2 回答 2

1

您需要 AlarmManager 而不是计时器来完成此任务。

于 2012-04-09T20:39:00.497 回答
1

当操作系统需要资源时,操作系统可以终止任何正常优先级或用户定义的后台服务,因此,如果您希望服务始终运行,则可以将后台服务设置为前台,或者如果您不想让手机进入睡眠模式,您可以使用唤醒锁...通过这些您可以将您的服务设置为始终开启模式......谢谢

于 2012-04-10T09:57:30.743 回答