結果續航力慘不忍睹。待機時平均電力消耗約3~5%/hrs。
用Battery Monitor Widget看,待機時電力消耗都在100mA左右。
後來在XDA及Android Central等討論板,看其他網友的討論,總結如下,
- 耗電來源不是來自Kernel就是來自應用軟體。用BetterBatteryStats去看,的確可以看到msm_hsic_host等高居耗電之首。但對於我們而言,也無法改變什麼。因為它在Kernel,所以我們只能寄望Google能改善它核心軟體的耗電。
- 在應用軟體層面,Google的定位上傳似乎大有問題。打開『位置回報』功能時(見圖),用Battery Monitor Widget監看,你會發現Google Maps平均每小時就會喚醒CPU達4,000多次。如附圖所示,待機7h40m,Google Maps居然可以被喚醒32540次。大家都知道,待機的喚醒是造成CPU無法Deep Sleep的主因,當然就是待機續航力差的主因。
▼ 高達18%的喚醒比率,
▼ 另一個高達18%的喚醒比率的例子, - 如果將『位置回報』功能取消,則Google Maps喚醒CPU的次數驟減到每小時10次不到。而待機電力消耗也有明顯的改善,CPU的Deep Sleep時間也可以達90%以上(相對喚醒比率降至10%以下),這是最明顯的改進。如圖,
- 另外Nexus 4裏面的圖片庫軟體具有同步Picasa的功能。如果在圖片庫設定中打開同步功能,偶也會造成手機待機電力消耗增加。雖然它不會對CPU造成高喚醒,但它每次喚醒,都會消耗許多CPU時間。不過還好,這個發生的機率不高,我好幾天才會發現一次圖片庫待機時佔CPU時間的問題。我猜是Picasa有大量圖上載時才會發生。如下圖,
- 另外,我的Beautiful Widgets pro似乎也會在待機時佔用較多的CPU時間,尤其如果再使用它的動態桌布,大概會讓待機耗電多增加0.3~0.5%/hrs。因為Beautiful Widget Pro剛好在我換機的時間它也大改版,所以我現在不能確定是否這個改版是造成耗電的主因。
以上是我的觀察及結論。總之,多數的Google服務都可以開著沒問題,但建議暫時先將『位置回報』關閉,待Google修正它超高喚醒頻率的問題。關掉位置回報之後,待機時的耗電可降至2%/hrs以下。如果再將一些會較耗電的應用軟體刪掉,耗電電很容易就可以掉到1.5%/hrs以下(最佳曾低於1%/hrs)。
以下是今早起床後的監測結果,
(位置回報關閉、NFC關掉、有裝Beautiful Widgets Pro但沒用它的動態桌布)
▼ 耗電量減至1.2%/hrs,CPU被喚醒時間只有8.6%,最高耗電的應用軟體為Google+及Facebook。
▼ 耗電狀況線圖,最高耗電一樣發生在Google+及Facebook。
▼ 過去7個多小時的消耗電流,最低14mA,平均大約40mA左右。
從上面結果看來,前二名耗電應用軟體為Google+及Facebook都是我必用的軟體,砍不得。第三名是監測軟體Battery Monitor Widget自己,之後刪掉它之後,手機待機時間應該會再改善。不過這也看出,BetterBatteryStats耗電遠比Battery Monitor Widget小許多。所以建議大家可以考慮買BetterBatteryStats(雖然亦有免費的XDA版可以用)。
【註】位置回報功能關掉之後,Google Maps中的『啟用位置分享』、『定位記錄』、『自動簽到』功能,以及部份的需要定位回報的『Google Now』卡片會變成無效就是了。
【註】以上測試皆在3G上網情況下。而且我房間內的3G的信號並沒有很好。
【更新12/29】本以為NFC會是造成手機耗電的原因之一。但這幾天特意把NFC功能打開,出乎意料之外,完全沒有感覺到手機因此特別耗電。我猜可能是Nexus 4改採Broadcom的NFC控制晶片比較省電的關係吧。(之前的Nexus及它牌手機,似乎都是用NXP的晶片居多。)