Android GPS 记录服务的电池耗尽问题

Battery drain issues with Android GPS recording service

我的服务记录用户的位置并每隔 X 分钟将其发送到 Firebase。我曾尝试将 X 从 1 分钟更改为 5 分钟,但电池消耗的变化不到 1%。在这两种情况下,应用程序每 3 小时使用大约 5%。

我试图了解将 GPS 间隔增加 500% 对电池寿命的影响很小或没有影响。不仅 GPS 发射了 1/5 的时间,而且还有 1/5 的数据 sent/received 到 Firebase。

关闭观看位置时,电池消耗为 0。

关于导致流失的原因有什么想法吗?另外,要每 5 分钟获取一次 GPS 位置并使用它发送大约 50 字节的数据,我应该注意哪种电池消耗?

当务之急是如何连接到 Firebase。请记住,从您调用 new Firebase(...) 的那一刻起,Firebase 将保持与服务器的开放连接。如果您只想定期 send/listen 获取数据,您将不必要地耗尽电池电量。

您可以通过 goOffline()/goOnline() 以编程方式管理连接状态。

如果您只是发送更新,您可以使用 Firebase REST API 来编写更新。这不会保持打开的连接,或者至少让 Android 决定何时关闭连接。

原来主要原因是移动数据。一旦我让它需要 wifi 来使用 firebase,电池消耗就从每天 20% 下降到 2%。