用电如倒水? 从 Wakelock 找出问题

手机在使用时,CPU 运行和亮着屏幕也会耗电。不用手机将屏幕关上后,手机的 CPU 还保持在运作状态。再过一段时间,Android 系统就会进入休眠状态,这时候应是手机耗电最小的时间。所以在晚上睡觉时,手机放在一角没有使用,耗电量亦应是最小的。

Wakelock唤醒手机
不过,若有一些 Apps 向系统发送 Wakelock唤醒手机,手机就会由休眠状态醒过来。虽然手机屏幕没有开着,但手机郤是在运行,也会造成耗电。这就是电量不知不觉流走的原因。

Wakelock Battery Drain 耗电

看看上面的图片,这是手机设定内电池的详细记绿,可以看到屏幕大部份时段都是关上的,但系统郤不断有唤醒 Wakelock;再对照上方的电量,可以看到电量在屏幕关上时还不断下跌,在 7小时已不见了 50% 电量。

为什么 Apps 会 Wakelock?
Wakelock 是 Android 本身的运作机制,以让 App 可唤醒手机进行操作。但有部份 Apps 可能在编写程式出了问题,又或因应它的功能需求,而要 Wakelock 手机。例如之前有即时通讯 App,因没有采用 Push 机制,而是由 App 每隔一段短时间从 Server 读取资料,以达致 “即时” 效果,这样就会造成很大量的 Wakelock,使手机长时间保留在运作状态。

那些 Apps 是 Wakelocks 最大疑凶?
Wakelock 不一定是问题,因 Wakelock 本身使用很小电量。但若 Wakelock 后,手机还会有其他运作,又或是有极大量的 Wakelock,这就会造成耗电问题。所以,一些需要不断更新资料的 Apps,例如天气, 新闻, 即时通讯, 社交, 情景 Apps 也可能是大量 Wakelocks 的元凶。

👉 延伸阅读:  Galaxy Z Flip 8 最新泄漏:电池容量维持 4,300mAh,重心转向轻薄化

找出 Wakelocks Apps
在手机的电池记绿只会显示电池使用的情况,并不会标记那些 Apps 发出 Wakelocks,所以要另行安装 Apps 去列出 Wakelocks Apps。有两个较常用的 Apps,提供这项功能。不用同时安装两个,只选一个安装使足够。

BetterBatteryStats
BetterBatteryStats (BBS) 是一个十分详细专业的电池用量统计 Apps,内里可选择 Partial Wakelocks 就可列出各个 Wakelocks 的详情,你可选择从 Unplug, Boot 机显示资料。(而Kernal Wakelock是系统东西,不用理会)

BetterBatteryStats 在 Play Store 是付费Apps,但可以在 XDA 免费下载 APK 档案。
http://forum.xda-developers.com/showthread.php?t=1179809

下图看到 Facebook 的 Wakelock 相对其他 App 不算太多,而耗电亦不多。
BetterBatteryStatsBetterBatteryStats Better Battery Stats

GSam Battery Monitor
GSam Battery Monitor 亦可列出手机的 Wakelocks 情况,界面较清晰易明。只要开启 GSam,在主画面点按 App Usage,再在内里页面上方位置,选择 View Time Held Awake 或 View Num Times Waking Device 就可检视 Wakelock 所占时间和次数。

👉 延伸阅读:  Pixel 三月更新爆“80% 限速门”!充电停在 77% 动弹不得?Google 证实:这是故意的!

GSam 可在 Play Store 免费下载
https://play.google.com/store/apps/details?id=com.gsamlabs.bbm

GSam Battery Monitor

从下面左图可以看到 Setting Profiles Wakelock 次数达到 105 次,较其他 App 高了很多!

GSam Battery MonitorGSam Battery Monitor Wakelock

睡觉时监察 Wakelock
由于日间时会经常使用手机,很难找出 Wakelock 问题,所以最理想做法是在睡觉时进行。睡觉前,将手机充电至 100% 后拔除充电电源,跟着睡觉去。

检视结果, 调整设定
第二朝起床,你可以先从手机 “设定 > 电池 > 详细记绿” 的图表内,看看会否有大量的 Wakelock 出现。跟着就可开启上述的 BBS 或者 GSam 查看那些 Apps 带来最多的 Wakelocks。从 BBS 或 GSam 的结果中,你可以逐一想想这些 Apps 为什么会要 Wakelock?若果 Apps 是没有用但又不断 Wakelock,那就删除吧!

部份 Apps 是要定时更新的,例如新闻天气, 通讯, RSS Reader。你可以调整 App 内设定 将更新的间距增长,甚至将它转为手动更新。例如 Facebook 就可以选择 30分钟, 1小时, 2小时, 4小时, 或从不更新。

👉 延伸阅读:  Google Play Store 旧版本 APK 大集合

若你有安装一些情景 Apps,例如 Tasker, Locale, Setting Profiles,你可查看会否是触发条件太紧太密,让手机不断切换情景。有些极端情况是情景 App 的设定,跟手机系统设定相违背,这样两者就会互相触发造成耗电!

不要苛求, 总会有 Wakelock
要找出 Wakelock 元凶需要花点时间,逐一就有问题的 App 查看并调整设定,而作出改动后,跟着到第二天再查看成果。当手机调整理想,一晚 8小时用约 10-12% 电量是有可能的。下图看到,撇除起初屏幕开着的那小段时间,手机在约 6小时内也只是用了 10% 左右的电量,Wakelock 亦没有太多,情况也很理想。

Battery Wakelock 用电

手机安装了不同的 Apps,或多或少也会带来 Wakelocks 和用电,你不可能放弃所有 Apps 换取电量,那智能手机就变得没意义。不要苛求晚上睡觉时,手机是零 Wakelock 呢!若对电量没有带来大的影响,那就由得它吧!

站长精选 你可能感兴趣的 Android 密技: