1

我有一个在 Windows Mobile 上运行的应用程序,并使用 GPS 以不同的时间间隔更新其位置。正如预期的那样,启用 GPS 芯片会消耗更多的电池电量。(不,呃..)

所以目前我的技术是在大约 10 分钟左右循环打开/关闭 GPS。每 4 分钟获取一次位置,如果情况发生变化,请执行一些操作,并仅在必要时将其位置更新到网络。否则,请再次将其关闭并等待。

在我使用一年的 HTC Touch Diamond 手机上,重新充电,保持屏幕打开(但变暗),+ WiFi,除了让它坐在那里什么都不做,我最多可以使用 6 个小时。

这“没问题”,但 GPS 的使用很容易减少 2-4 小时的常规“现实世界”使用 (YMMV)。

我一直在考虑的另一个选择是让网络服务器在需要时向手机发出信号以更新其位置,而不是让手机盲目地这样做。

这样,手机仅使用电源来获取数据连接并检查服务器。如果服务器告诉它更新,那么它才会打开 GPS。

除了响应时间要慢得多(我在猜测),如果手机在某个地方,它不能轻易获得稳定的更新,那么你甚至不会知道它的最后位置。在这一点上,你被困在等待中。

我希望手机可以更加自主。

有没有更好的算法可以用来改进这个设置?

谢谢。

4

2 回答 2

0

您使用的 GPS 引擎是否有任何可访问的内置低功耗操作模式。我在产品中嵌入了来自 SiRF 和 u-blox 的几个不同的 GPS 芯片组,发现在电池电量方面,让 GPS 处于低功耗模式比关闭它然后让它重新获取更便宜. 在我的情况下,它在低功耗模式下使用的能量更少,所有关闭时间不到 15 分钟。

基于 SiRF(SiRFStar-2 和 SiRFStar-3)的 GPS 引擎具有“涓流”模式,每次唤醒时 GPS 仅开启几百毫秒。唤醒间隔可以设置为大约 5 秒,这意味着消耗的功率是持续开启状态的 5-10%。在准确性方面存在一些小的折衷,但如果修复质量下降,芯片组将返回持续供电模式。

于 2009-07-30T07:48:58.043 回答
0

我认为您当前的解决方案将表现最佳并为用户提供最佳体验。

如果您的网络服务器触发手机进行更新,那么您确实依赖于太多可能断开连接的外部事物(不确定这是否会影响您的用户,因为您没有提及应用程序的功能)。

如果您可以并且还没有,您还可以确保您的应用在后台运行或屏幕“休眠”时不会打开 GPS。这样,您只需在应用程序激活时立即启动它,并且在应用程序不使用时您不会浪费电池。

就我个人而言,我知道如果我使用的是 Wifi/GPS/Data 繁重的应用程序,无论如何它都会大大缩短我的电池寿命。您所经历的减少似乎与我经历过的其他应用程序相差太大。保持原样并让用户满意(即使他们必须更频繁地充电)。

于 2009-07-29T15:31:51.487 回答