我正在开发一个有两个GPS服务的应用程序。其中一个是位置跟踪,每隔2分钟向服务器发送位置更新,另一个服务是网络电话,在位置更新时检查设备的速度。
通过这两项服务,我的手机显示电池消耗量为77%。如果没有这两项服务,则不会显示电池消耗。
是否有任何解决方案可以在保持所需功能的同时节省电池电量?
答案 0 :(得分:6)
你必须告诉你做了什么让电池消耗如此之高。 (如果电池在1分钟或15分钟或1小时后变为77%,则甚至不清楚。
您是如何访问GPS的?您是否正在运行处理程序/线程以定期轮询GPS。如果是的话,这是错误的做法。您可以要求Android通知您位置更改。
GPS服务通常是内存饥渴。您需要GPS服务还是只需要查找位置更新? Android为基于位置的服务提供了一个很好的启动doco。 http://developer.android.com/guide/topics/location/obtaining-user-location.html 请尝试按照此doco中的步骤找到最佳用户位置。
确保在适当的时间停止侦听更新。如果一个应用程序即使在没有运行时也试图耗尽电池,用户也不会感到高兴。
尝试将应用程序作为后台任务...即服务或BroadcastReceiver