requestlocationupdates功能的Android生命周期

requestlocationupdates功能的Android生命周期,android,gps,Android,Gps,我试图理解当调用组件移出其可见/活动生命周期时,LocationManager的RequestLocationUpdate(使用PendingEvent)是如何工作的。我知道如何使用removeUpdates来取消该意图,并且我已经阅读了所有关于服务、广播接收器和活动如何在应用程序的主线程上启动的文档,您可以创建工作线程以避免破坏UI体验等,但是当涉及到诸如requestLocationUpdates之类的调用时,当API负责周期性地发送意图时,当调用活动超出其可见生命周期时,该功能会发生什么,

我试图理解当调用组件移出其可见/活动生命周期时,LocationManager的RequestLocationUpdate(使用PendingEvent)是如何工作的。我知道如何使用removeUpdates来取消该意图,并且我已经阅读了所有关于服务、广播接收器和活动如何在应用程序的主线程上启动的文档,您可以创建工作线程以避免破坏UI体验等,但是当涉及到诸如requestLocationUpdates之类的调用时,当API负责周期性地发送意图时,当调用活动超出其可见生命周期时,该功能会发生什么,这一点就变得非常模糊。例如,如果我从某个活动调用requestLocationUpdates(使用PendingEvent版本),并且操作系统停止了该活动,而我的代码没有为该PendingEvent调用removeUpdates,那么位置更新的PendingEvents是否停止发送?如果活动被暂停了呢?如果我希望位置更新即使在活动超出其可见生存期或活动生存期时也能继续进行,那么我是否应该从从活动创建的后台线程中启动的服务调用requestLocationUpdates?对此的任何澄清都将不胜感激。

如果您将Locmanager置于服务(获取积分和存储)中会更好。你应该总是假设用户喜欢多任务,或者至少有一些用户在使用你的应用程序时会接到电话。有了这个implem,你将严重依赖意图

谢谢你的建议。我试试看。顺便说一句,您知道关于RequestLocationUpdate的任何好的文档,这些文档解释了您应该何时以及为什么从不同的组件调用它。我担心一旦我让它工作,它会工作一段时间,但因为我不理解它,我可能会遇到一种情况,它失败,只是因为它花了一段时间才能达到那个场景。我对此做了一些研究,似乎大多数答案都是“试试这个,它似乎有用”。只是担心如果我不明白为什么要以某种方式实现它,这会给我带来麻烦。当然不是。当我为健身应用程序开发gps健身功能时,我经历了艰辛的学习。不要相信服务也能生存。当它在内存不足的情况下运行时,android会试图杀死它。永久保存您的gps点。可能是sqlite。如果你打算开发gps跟踪应用程序,mytrack是一个很好的参考。