你好,歡迎來到IOS教程網

 Ios教程網 >> IOS教程 >> 關於IOS教程 >> 如何更好優化App耗能的五大指南

如何更好優化App耗能的五大指南

編輯:關於IOS教程

   教你如何更好優化App耗能的五大指南:盡管智能手機給應用開發者帶來了機遇,但移動設備有限的資源也制造了挑戰,而挑戰之一在於電量消耗。因此相對於傳統的對性能和內存消耗的關注,應用開發者正越來越注重應用的能耗優化。這裡將提供幾點簡單的指南。

如何更好優化App耗能的五大指南  

  一.顯示屏

  顯示屏是耗電量最大的元件之一,如果所有元件都全功率運行,那麼液晶顯示屏將占整個系統功耗的45%至50%,對於顯示屏,有兩點需要牢記:

  1.智能手機操作系統的設計使得在沒有用戶輸入的情況下,屏幕會自動熄滅。應用開發者可以對這一設置進行調整,但只在有必要時才這樣做。

  2.第二種方式可能相對復雜。在正常情況下,圖像和顯示屏的亮度為默認設置。然而,通過調高圖像和內容的亮度,同時減弱顯示屏的整體亮度,應用可以提供同樣的可感知亮度。這樣的做法適用於視頻應用和游戲,而這些應用往往功耗較大。

  二.網絡連接

  除顯示屏之外,無線通信元件,包括GSM、3G和WiFi芯片是移動設備中電量消耗的第二“大戶”。

  1.如果使用後端服務器,那麼應用應當采用突發模式傳輸數據,而非周期性傳輸。在周期性傳輸模式下,盡管對流量的消耗不大,但對硬件資源的利用效率會很低。一個簡單的做法是,在用戶主動請求數據傳輸的同時進行周期性數據傳輸。請勿建立太多的並發TCP連接,而是使少量TCP連接或HTTP管道持續存在。

  2.數據緩存也可以減少應用與服務器通信的頻率。本地緩存和服務器緩存都可以減少通過網絡的數據傳輸。

  3.基於位置的服務尤其耗電,因此在沒有必要的情況下,不要持續更新設備位置。例如,如果應用需要獲取用戶的行動軌跡,而不是單獨某一位置,那麼可以使用少數幾個位置點,基於算法獲得整體的運動信息。而另一項技術則是在設備沒有運動時關閉GPS模塊。開發者可以利用手機的加速計來感應運動是否開始。

  4.移動廣告通常也需要頻繁進行網絡通信。近期的一項研究表明,在某一應用的總通信能耗中廣告占65%,而在總能耗中也占23%。

  三.CPU的使用

  在優化應用性能時,應用的功耗也將得到優化。通過減少不必要的計算任務或優化必要任務的執行,CPU利用率都可以獲得下降。

  1.對於游戲,考慮降低每秒幀數。在許多情況下,用戶肉眼無法分辨出幀數差異,除非幀率過低。肉眼分辨的極限通常為每秒23至30幀,這也是大部分視頻應用和游戲采用的幀率。

  2.當應用終止時停止應用的線程,否則在應用關閉的情況下將出現無用代碼。

  3.開發者需要了解目標設備的硬件配置。例如,當設計音頻/視頻應用時,應當選擇硬件支持的格式和編解碼方式。如果采用硬件加速而非軟件加速,那麼CPU利用率將可以下降。

  4.使用雲計算技術將移動應用的計算任務放在雲端執行。

  5.避免周期性輪詢,以及過分頻繁地訪問存儲模塊。

  6.在復雜計算任務中考慮使用查詢表。

  四.關閉不必要的硬件

  智能手機包含多種元件,例如攝像頭、加速計,以及其他多種傳感器。在調用設備硬件時,開發者應當確保軟件帶有參數,當應用不活躍時關閉外設硬件。在用戶不使用時主動關閉藍牙和GPS等模塊將可以極大地省電。

  五.挑戰和工具

  許多位於應用和硬件之間的中間件能幫助開發者更方便地開發移動應用,但這也意味著開發者無法自主掌握硬件資源的消耗。不幸的是,開發者目前沒有太多工具去改進應用能耗。實際上,許多開發者甚至並不清楚自己應用的能耗。

  開發者目前只有很少的工具和資源去檢查應用的能耗情況。在iPhone上,開發者可以打開能耗診斷工具,隨後使用模板去分析日志數據。PowerTutor工具可以在Android手機上實現類似的功能。不過,這些軟件工具有著自己的局限,即本身也會增加能耗。

  這篇文章中提到的方式盡管很簡單,但能大幅降低應用能耗。不過請記住,所有這些技術都將帶來副作用,包括對應用性能和內存管理產生不利影響。開發者可以基於自己的特定需求選擇最合適的方式。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved