【发布时间】:2014-08-14 09:32:46
【问题描述】:
我现在正在开发一个 Android 应用程序,现在它处于测试版。但是,与安装应用程序之前相比,我的一些测试版用户声称他们正在经历电池消耗。
看起来它只会影响一些用户,但我还无法确定原因。
我在这个应用程序中使用 GPS 和 GCM。我已遵循 Android 开发人员文档中的指南(在调用 onStop() 时删除位置客户端)。如果没有网络连接,应用程序将不会尝试从服务器刷新数据。但是,我有一些用户说该应用程序一直处于后台,但该应用程序消耗了超过 10% 的电池。 (!!)
1) 我应该删除与 GCM 关联的 WAKE_LOCK 权限吗?
2) 对于获取位置,我还能做些什么?我只在一些活动开始时调用 getLocation 。没有间隔更新。
3) 我可能错过的任何其他潜在的电池消耗罪魁祸首?
【问题讨论】:
-
如果不知道应用程序的详细信息,这太宽泛了。你可以考虑优化你的代码,但我倾向于安装一个电池监控应用程序,看看你是否能指出它。谷歌定位服务在 JellyBean 舞台上的电池电量非常大,只有 Kitkat 和定位的“低功耗”模式等选项才开始有所改善。这可能取决于他们使用的设备、覆盖范围、网络定位模式等,以及人类的期望。有些人会因为失去 1% 的电量而吓坏了。真的没有办法回答这个问题。
-
首先,检查用户是否正确。其次,检查电池监视器应用程序。您还可以尝试单独测试每个组件,看看它们是如何工作的(例如,无需 UI 和计算等所有其他内容的位置确定)