本地服务还是远程服务?

Sne*_*ney 5 android android-2.2-froyo

我有一个必须永久运行的后台服务.该服务只需与我的活动进行交互.

  1. 如果服务仍在运行,如何检查活动恢复?是否有比服务类中的静态变量更好的可能性?

  2. 在单独的进程中使用远程服务(延长服务生命周期)是否有利,这样当活动进程被杀死时,服务仍然存在?

Com*_*are 7

我有一个必须永久运行的后台服务.

这是不可能的.用户或Android会在某些时候终止您的服务.请重新考虑您的架构.

如果服务仍在运行,如何检查活动恢复?

一般来说,你没有.

是否有比服务类中的静态变量更好的可能性?

如果用户或Android终止您的服务,那将无效.

在单独的进程中使用远程服务(延长服务生命周期)是否有利,这样当活动进程被杀死时,服务仍然存在?

远程服务与活动销毁后服务是否运行无关.如果您致电startService(),该服务将独立于任何活动运行,直到:

  • stopService()从一个活动打电话
  • 服务电话 stopSelf()
  • Android终止服务
  • 用户通过"设置"应用程序终止服务
  • 用户通过"任务杀手"终止服务(Android 2.1及更早版本,至少)