用電如倒水? 從 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 的元兇。

👉 延伸閱讀:  【實用教學】Android 如何為「個別 App」設定不同音量?自動調整遊戲、影片音效!

找出 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 所佔時間和次數。

👉 延伸閱讀:  Google Play Store 舊版本 APK 大集合

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小時, 或從不更新。

👉 延伸閱讀:  App 耗電者的末日!Google Play 正式實施「羞恥標籤」:下載前先看誰在偷跑電力!

若你有安裝一些情景 Apps,例如 Tasker, Locale, Setting Profiles,你可查看會否是觸發條件太緊太密,讓手機不斷切換情景。有些極端情況是情景 App 的設定,跟手機系統設定相違背,這樣兩者就會互相觸發造成耗電!

不要苛求, 總會有 Wakelock
要找出 Wakelock 元兇需要花點時間,逐一就有問題的 App 查看並調整設定,而作出改動後,跟著到第二天再查看成果。當手機調整理想,一晚 8小時用約 10-12% 電量是有可能的。下圖看到,撇除起初屏幕開著的那小段時間,手機在約 6小時內也只是用了 10% 左右的電量,Wakelock 亦沒有太多,情況也很理想。

Battery Wakelock 用電

手機安裝了不同的 Apps,或多或少也會帶來 Wakelocks 和用電,你不可能放棄所有 Apps 換取電量,那智能手機就變得沒意義。不要苛求晚上睡覺時,手機是零 Wakelock 呢!若對電量沒有帶來大的影響,那就由得它吧!

站長精選 你可能感興趣的 Android 密技: