因為自月初更新為2.1之後我的hero常常才半天就沒電了,
明明沒用什麼網路也沒開來玩, 非常非常的奇怪,
於是在網路上苦苦搜尋了半天才瞭解觀察問題所在需要的相關方法,
也為此反應了幾套程式有問題讓官方去修正, 像是Locale 1.2.1t 的更新就是我去投出來的 _A_
話不多說,
這篇文章就是供那些用 Android 但是卻異常耗電的人參考入門用的, 讓我們開始吧,
我手上的機子是 HTC Hero, 官方的 2.1-update 1,
因為我習慣用英文環境, 還請諒解,
首先, 開 Settings->About Phone->Battery,

注意 Up time 跟 Awake time 的時間,
這張圖是正常 android 系統的數字,
Up time 是系統開機到現在有多久,
Awake time 是指系統有保持在運作的時間,
一般來說 Awake time 應該要比 Up time 小得多,
如果你的 Awake time 跟 Up time 看起來很正常的話這篇文章可能不適合你,
如果你的 Awake time 很接近 Up time, 甚至根本是等於,
恭喜, 你落在本篇文章的教學對象裡了, 你要開始漫長的抓蟲跟重開機流程,
這篇文章會講述的是網路上搜尋的到的一個問題, 叫做 Awake time 100%,
指的是你的 Android 手機一直保持著 cpu 運轉而沒有睡眠, 雖然不會熱但是非常的耗電.
你會需要在 Market 找一個程式,
叫做 Spare Parts,
http://www.appbrain.com/app/com.androidapps.spare_parts
安裝完之後打開, 點選第一項的 Battery History,
你會先看到 Other usage - Since last unplugged,

這張範例圖也是正常的系統該有的圖, Running 應該遠低於 100%,
如果你的 Awake time 跟 Up time 一樣的話你這邊會看到的 Running 肯定是 100%,
表示你的系統一直在跑沒有休息過,
接下來再看第二張圖,
點選 Other usage, 改成 Partial wake usage,
這邊表示的是哪些程式利用特定 API 讓系統保持運作,

這張也是正常的圖, 沒有一個程式是特別突出的,
不過我昨天有張明顯有問題的圖可以當參考,

這張是有問題的圖, 可以明顯看到 Locale 這隻程式的數值特別的高,
毫無疑問是 Locale 有問題,
所以我跟 Locale 那邊反應過後他們進行了處理, 抓到是 HTC 韌體上的 bug,
目前先丟了新版本繞過這個問題, 後續就看 HTC 會不會有 OTA,
不過如果 Partial wake usage 裡特別突出的程式是 Android System 的話是怎麼回事?
那有可能是某些程式踩到韌體 bug, 或是一直卡著系統 API 不放,
有時候 Partial wake usage 看起來也是很正常, 不過 Running 100%,
那也是有程式在背後一直跑個不停,
這時候就開始我們漫長的苦命流程了,
你要把可疑的程式趕出去看系統會不會正常,
要做的事情很簡單, 移除可疑的程式然後重開機,
確定重開機完, 該常駐的一大堆程式都跑起來之後,
按 power 鈕讓螢幕熄掉, 放個十分鐘看看,
然後一樣進 Spare Parts,
看看 Running 是不是還是 100%?
Partial wake usage 的數值是不是正常?
如果還是不正常就請再移掉一些程式,
一直重複到你的系統正常了, 你就知道哪些程式可能是兇手了,
就這樣重複著移除與安裝的流程應該就能找出哪些程式有問題,
我自己抓到的是,
fring 會讓系統保持在 running, 不把他關掉完全是浪費電,
waveSecure 目前在 Hero 2.1 上也有 bug, 裝進去之後也是 running 100%, 要移除重開才會正常,
locale 是舊版在 Hero 2.1 上有問題, 新的已經修正了,
大致上就這樣, 各位 Hero 在升級後突然變得非常耗電的也請自己抓看看哪些程式有問題吧