我已经创建了一个应用程序,它在某些设备中消耗了48%的电池,这是电源管理任务中最高的,但在某些设备中它的5-6%,我在后台运行服务一直提取纬度和经度,如果用户登录,则将其发送到服务器上。但我已经检查过,从应用程序退出检查它仍然消耗了48%。
使用融合位置api获取纬度和经度。
所以请告诉我如何解决某些手机中的电池消耗问题,以及如何检查哪些过程和服务正在耗尽电池。
答案 0 :(得分:1)
我同意Lonni认为问题是拉/长取。考虑到所消耗功率的规模,48%,它不太可能是GPS电路本身。我认为它是CPU。移动处理器除非保持活动状态,否则非常节能。让我解释。有源处理器是移动设备上最耗电的设备。那么处理器如何才能成为最大功率的同时又能够实现高效节能?#34 ;?由于处理器具有高功效特性,我的意思是当处理器没有做任何事情时,它会进入一个非常有效的低功耗状态,其功耗可能比一个小于一个数量级。处于活动状态时。
我的猜测是你将处理器保持在活动状态。你想要的是让处理器尽可能空闲。
以下是我的建议:
以下是更多信息:Battery-safe coding
除此之外:我已经看到了思想泡泡:"为什么某些设备使用的功率低于其他设备?"有些库非常聪明,并且预计编程实践不好并且会做一些变通方法。其他人都很愚蠢。与OS,系统库和线程调度相同。
答案 1 :(得分:0)
我最好的猜测是长时间和拉特的不断取出正在耗尽电池。如果我没记错我几年前所做的事情就是这种情况。
我会说你应该尝试看看你想要的坐标刷新率。也许它不需要每分钟刷新5次以上。在这种情况下,您可以节省大量调用以获取坐标,并确保节省电池。
至于为什么它在某些设备上有所不同,我担心我不知道。也许Android的版本使用?
编辑:我不知道Eclipse是否可以做到这一点而我认为不行。 但是,您可能需要查看此论文:http://www.usenix.org/event/usenix10/tech/full_papers/Carroll.pdf