【发布时间】:2010-08-25 20:26:53
【问题描述】:
我对 Android 服务和活动生命周期有一些疑问。希望你们能帮帮我。我编写了一个使用 GPS 位置并存储它们的应用程序。它必须不断监控 GPS 位置更新才能正常工作。
现在,一切尽在一项活动中。因此,当您关闭活动时,您会丢失所有内容并且无法继续监控位置更新。这就是为什么我想为监控部分做一个后台服务。而且我一直在阅读Android Developer Guide和Reference,但仍然无法完全理解activity-service-process-lifecycle的东西。
考虑一下:您启动应用程序。它获得了 GPS 定位,现在您可以开始监控位置更新并保存它们。当你这样做时,它应该启动一个接收 GPS 位置更新的服务。所以现在你有一个活动和一个在同一个进程中运行的服务。行。但是,如果您按下手机上的硬件后退按钮会发生什么?是否只会在进程仍在运行您的服务的情况下终止活动?或者它会杀死活动和服务,从而杀死进程?是否有某种方法可以确保在活动被终止后服务继续在同一进程中运行?但是一种方法不像远程进程的整个辅助程序那么复杂?
在新进程中创建服务对我来说似乎没有必要,因为没有其他应用程序应该使用我的服务,我只需要监视部分在(GUI)活动停止时继续运行。我想在开发者网站上制作类似本地服务示例的东西,但我必须确保在活动被终止后服务继续运行。
【问题讨论】:
标签: android process service android-activity gps