我的 Android 应用程序中有一项服务需要在用户退出应用程序后继续侦听位置更新(这对电池寿命的影响是另一回事)。
我不确定我是否正确理解了此页面上概述的 Android 服务的生命周期:
http://developer.android.com/reference/android/app/Service.html
我相信如果它在 onStart() 方法中返回 START_STICKY ,那么服务将在主应用程序退出后继续运行,无论服务是否在自己的进程中运行。如果该服务与应用程序的其余部分在同一进程中运行并且我理解正确,则主应用程序的进程在应用程序退出后保持活动状态,只是为了运行该服务。当应用程序再次启动时,它将与仍在运行的服务在同一进程中运行。如果系统内存不足,Android 可能会决定终止该服务。
其次,我相信可以在与应用程序的其余部分相同的进程和相同的线程中运行位置监听器来监听 GPS 更新,并且在等待来自 GPS 的更新时它不会阻塞。
我理解正确了吗?