我已经创建了一个应用程序,它在某个设备中消耗48 %的电量,这在电源管理任务中是最高的,但是在一些设备中,它的5-6 %,我一直在后台运行一个服务,获取纬度和经度,并在用户登录时发送到服务器上。但是我也检查过了,通过从app登录,它仍然消耗了48 %。
使用融合位置api获取纬度和经度。
因此,请告诉我如何解决这个问题的电池消耗在某些电话,以及如何检查哪个过程和服务正在耗尽电池。
发布于 2015-06-19 17:02:15
我同意隆尼的观点,那就是长时间的拉票。考虑到耗电量的48%,它不太可能是GPS电路本身。我想是CPU的问题。除非保持活动,否则移动处理器是非常高效的。让我解释一下。active proessor是移动设备上最耗电的设备。那么,一个处理器怎么能成为最大的耗电者,同时又是“高效的”呢?所谓处理器是“高效的”,我的意思是,当处理器不做任何事情时,它会进入一个非常有效的低功耗状态,它的功耗可能比处于活动状态时低一个数量级。
我的猜测是,您正在保持处理器处于活动状态。您想要的是尽可能保持处理器空闲。
以下是我的建议:
以下是更多信息:Battery-safe coding
旁白:我已经看到了思想泡沫:“为什么有些设备比其他设备耗电量少?”有些库非常聪明,可以预见糟糕的编程实践和解决方法。其他人都是哑巴。同样的操作系统,系统库和线程调度。
发布于 2015-06-18 11:14:23
我最好的猜测是,长和拉的持续抓取正在耗尽电池。如果我没记错的话,我几年前做过的定位就是这样的。
我想说,你应该试着看看你想要的坐标的刷新率。也许它不需要刷新超过5次每分钟。在这种情况下,您将节省对获取坐标的大量调用,当然也可以节省电池。
至于为什么在某些设备上不同,恐怕我不知道。也许是安卓的版本?
编辑:我不知道Eclipse是否能做到这一点,我也不认为它能做到。但是,您可能需要检查本文:papers/Carroll.pdf
https://stackoverflow.com/questions/30911836
复制相似问题