点击最多

 

猜你喜欢

安卓系统耗电太快?针对Wakelock(锁)的设置优化教程

2017-12-05 02:06

  如果再看到有“耗电最多的是谷歌服务怎么办”的问题,你可以把这篇文章推荐给他看看,下面会有解决方法。

  Android为了确保应用程序的正确执行,提供了Wakelock(锁)的API,Wakelock是一种锁的机制,只要有应用拿着这个锁,系统就无法进入休眠,手机耗电的问题,其实大部分是这个锁正不正常的问题。

  Android为了确保应用程序的正确执行,提供了Wakelock(锁)的API,Wakelock是一种锁的机制,只要有应用拿着这个锁,系统就无法进入休眠,普通的用户应用和系统内核都可获得。Wakelock可以是有超时或没超时的,超时的锁在超时后会自动解锁(有些应用就不断用超时锁然后靠系统自动解锁),当没有锁了内核就会启动休眠机制进入休眠状态。

  在国内,如果你的手机安装有Google组件,即便是在账户设置里取消同步,Google服务还是会在后台同步,如果被墙了,同步就会拿到锁,不断AP,致使系统完全没法进入休眠状态,消耗相当多的电量。

  经常听到有朋友抱怨,一晚上手机待机耗电超过15%,而且还不知道是什么应用在偷跑,就觉得电量哗哗地就往下直掉。正常情况下一晚上待机耗电在2-3%左右,超过这个值较多的肯定是有问题,绝大部分问题来源于以下几种。

  手机上应用程序的耗电,本质上是它所启用的硬件在消耗电量。Android手机有两个处理器,即Application Processor(AP,应用处理器)和Baseband Processor(BP,基带处理器),另外耗电单元还有GPU、LCD、WIFI、GPS、BT等,一般手机待机时,AP、LCD、WIFI均进入休眠状态,这时应用程序的代码也会停止执行,只会有BP在耗电。