[WM]怎麼讓應用程式更省電

來源:互聯網
上載者:User

  最近搞了一下程式耗電的問題,記錄一點心得.cnblogs裡面貌似也有一個MVP寫過這個,可以去看看.

  耗電量,其實也是效能問題.程式最佳化麼,就是要找到程式的瓶頸,然後才能最佳化.程式啟動並執行慢,可以找Profile工具查看一下,可是這個電量確實不好搞.看來只能上笨辦法:對照實驗.通過對照實驗,才能瞭解程式的瓶頸具體出在什麼地方,到底是什麼模組在費電.

  有了方法,剩下來就是實驗,發現瓶頸,解決.我想這個應該不難吧?

  下來介紹一點經驗:

  1. 網路裝置是相當耗電的.開始沒注意,後來經過對比實驗發現網路其實是最耗電的.沒事幹Google一下,發現一些資料(因為我不是搞硬體的),GPRS/1xRTT裝置工作的時候,功耗可以達到1W+,當然Sleep的時候,功耗很小,可以忽略不計.所以,謹慎的使用網路是省電的第一要義.

  2. GPS裝置很耗電??基本上可以斷定,這是一個謊言.經過對照實驗發現,單純的GPS裝置耗電量很少.Google出來的資料,也有一定的參考價值,就是工作電壓3.7V,工作電流90ms,這樣的話就只有333mW,更有甚者提供一些省電GPS模組,工作電流只有45ms.還有,GPS裝置開啟關閉時有一個充電的過程,這個過程是否耗電呢?測試發現,也基本上不耗電,所以推薦不用GPS的時候把他關掉(反正第二次拿GPS資料速度很快).

  3. CPU很耗電. 這個很難判定,因為我還沒有那個能力讓只讓CPU轉或者不轉...........網路的一些資料表明,CPU其實也是不怎麼耗電的,Cortex-A9 CPU的單核功耗不會超過300mW.

  4. 螢幕,背光燈. 背光燈我沒測試,因為我暫時沒有想出來什麼情境需要一直把背光開啟:P,螢幕麼,一直開著,就意味著CPU一直轉著,反正WM在那裡空轉7個小時也沒啥問題,估計也不怎麼耗電.

  5. 動不動就讓WM待機會省電吧??

    這肯定是一個謊言.WM從睡眠中喚醒的時候,是一個非常耗電的過程.最開是我們的程式較短時間就喚醒WM,結果省的電並沒有想象的那麼多.不過Smartphone上面沒這種問題,因為系統不會真正待機,只會關掉螢幕.

 

 

  因為我們的程式也就只用這麼幾樣東西,其他的都沒用過,所以只能寫著麼多.

  我不太鼓勵剛開始寫程式就考慮省電問題,就跟剛開始寫程式就考慮效能問題一樣,那樣只會使問題變得更複雜.

  另外,關於WM電源管理,"Windows CE電源管理之三"你需要看一下;

    將睡眠的作業系統喚醒,你需要瞭解一下CeRunAppAtTime那一組API,比較好用;

    斷開網路,我在Dopod上面實驗的結果就是,斷開網路不成功,再次撥號斷開就可以了,實在不行就需要用RAS,請看這裡.

 

PS:授人以魚不如授人以漁.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.