0

我正在使用在创建主 Activity 时启动的服务中的 GPS 位置提供程序编写一个 android 应用程序(除非该服务已经在运行)。我的印象是该服务将继续运行,但如果内存不足,任务管理器可能会终止它,这种情况不太可能发生。出于某种原因,如果有一段时间的活动非常低,无论有多少可用内存,服务都会重新启动。当用户在外面并且 GPS 能够解析位置时,该服务将每 30 秒获取一次位置,并在其间关闭 GPS(以节省电池)。在这种情况下,服务会继续运行而没有任何问题,但是当用户移动到内部并且在五秒内无法找到 gps 位置时,然后该服务会关闭 GPS,并且只会每 200 秒重新激活一次 GPS,以检查用户是否已搬回室外。在这种情况下,服务有时会停止并且不会重新启动,直到应用程序重新打开并且活动重新启动服务。我创建了一个单独的服务以确保该过程不会中断。有谁知道为什么会发生这种情况?非常感谢你的帮助!-Dom

4

1 回答 1

1

我想看看 Mark Murphy 处理服务和唤醒锁的例子:

WakefulIntentService

如果您无法从他的代码示例中弄清楚,那么您想获得他的 Advanced Android book,其中详细解释了问题。

Busy Coder 高级 Android 开发指南

这些是一些关于 Android 开发的最佳书籍,非常物有所值。

于 2011-04-23T20:40:47.057 回答