作為移動設備,電池重要性不言而喻。怎么耗電
通過上圖可以知道,用戶通過軟件調用硬件資源而產(chǎn)生了耗電瑰枫,那么我們可以控制軟件調用硬件的頻次以此達到降低耗電的目的。那么我們有哪些硬件是可以控制的呢丹莲? 移動設備元件耗電大戶
下面我就挑幾個常用的元器件聊一聊
一光坝、視頻、音頻甥材、收音機
在使用這些功能的使用時候盯另,他牽涉的不單單一個元器件的問題,而是更多洲赵,所以我們在使用這些功能的時候要做到離開即刻關閉釋放鸳惯。早期做直播的時候,朋友問我為啥打開直播看了半小時就手機發(fā)燙呢叠萍,如果你的應用也出現(xiàn)此種情況芝发,就要趕快檢測以下幾點了:
1、線程數(shù)是否暴增苛谷。
2辅鲸、長鏈接數(shù)是否增加了,是否可以考慮合并腹殿。
3独悴、解碼效率是否很快。
4锣尉、彈幕是否做到復用了刻炒,是否存在內存泄露問題。
5自沧、動畫特效是否及時釋放坟奥,執(zhí)行效率是否很快。
6、承載功能的實例是否存在多份爱谁。
7晒喷、檢查內存、cpu使用情況管行。
二厨埋、無線網(wǎng)絡
無線網(wǎng)絡包括移動網(wǎng)絡和wifi兩種情況邪媳。通過發(fā)現(xiàn)移動網(wǎng)絡是比wifi更加耗電的捐顷。
移動網(wǎng)絡
移動網(wǎng)絡數(shù)據(jù)傳輸有3種狀態(tài):高功率狀態(tài):網(wǎng)絡激活,允許設備以最大傳輸速率進行傳輸雨效。
低功率狀態(tài):傳輸速率低于15kbps迅涮,耗電是高功率狀態(tài)的一半,一般不能直接從程序中進入該狀態(tài)徽龟,而是由高功率狀態(tài)降級進入叮姑。
空閑狀態(tài):沒有數(shù)據(jù)連接需要傳輸,耗電最少据悔〈福可以看出,三種狀態(tài)耗電不同极颓,要使耗電最低應該盡量保持狀態(tài)在空閑或低功率下朱盐。從空閑狀態(tài)轉換到高功率狀態(tài)大概需要2s,從低功率狀態(tài)轉換到高功率狀態(tài)需要1.5s菠隆。應用中每創(chuàng)建一個網(wǎng)絡連接兵琳,網(wǎng)絡射頻都會轉到高功率狀態(tài),數(shù)據(jù)傳輸完畢降回低功率狀態(tài)骇径,降回過程需要5s躯肌,這5s耗電量保持在高功率狀態(tài),低功率降回到空閑狀態(tài)需要12s破衔,期間一直保持低功率狀態(tài)清女。所以每次的數(shù)據(jù)傳輸都將導致將近20s電量的消耗。
WIFI網(wǎng)絡
WIFI在active狀態(tài)下有4種模式:低功率晰筛、高功率校仑、低傳輸、高傳輸传惠。
當從低(高)功率狀態(tài)傳輸數(shù)據(jù)時迄沫,WIFI會暫時進入相應的低(高)傳輸狀態(tài),一旦數(shù)據(jù)傳輸完畢就回到初始狀態(tài)卦方。WIFI耗電是受包率(每秒接收和發(fā)送的數(shù)據(jù)包)和網(wǎng)速因素影響的羊瘩。如果因素良好,即網(wǎng)絡良好時,數(shù)據(jù)傳輸?shù)暮芸斐韭穑訵IFI的高功率狀態(tài)維持時間很短逝她。這也就是為什么說移動網(wǎng)絡耗電高于WIFI耗電,因為同樣的數(shù)據(jù)大小傳輸時睬捶,移動網(wǎng)絡固定狀態(tài)轉換就需要近20s的電量消耗黔宛。通過上面了解網(wǎng)絡連接過程,應該心里有了大概的優(yōu)化建議擒贸。
網(wǎng)絡優(yōu)化方案:
1臀晃、文本和文件壓縮傳輸。 不管發(fā)送還是請求數(shù)據(jù)介劫,在數(shù)據(jù)傳輸過程中使用gzip將數(shù)據(jù)進行壓縮徽惋。經(jīng)過壓縮的數(shù)據(jù)需要更短的時間傳輸即可完成,這樣使得無線所處的高功率狀態(tài)時間更短座韵,從而減少了耗電险绘。
2、精簡文本文件誉碴,去掉文本中空行宦棺、空格、注釋等無意義內容黔帕。
3代咸、請求一個圖片時,客戶端提供一個分辨率大小蹬屹,服務器根據(jù)分辨率把裁剪縮放后的圖片給客戶端返回侣背,采用使用webp圖片。
4慨默、減少網(wǎng)絡高功率保持時間贩耐。
5、減少網(wǎng)絡請求次數(shù)厦取;a潮太、使用緩存。b虾攻、合并請求铡买,將多個接口請求批量請求。
三霎箍、CPU
cpu作為計算機系統(tǒng)的運算和控制核心奇钞,是信息處理、程序運行的最終執(zhí)行單元漂坏。線程是操作系統(tǒng)能夠進行運算調度的最小單位景埃。它被包含在進程之中媒至,是進程中的實際運作單位。通過上面的兩個概念我們大概知道谷徙,一個我們負責設備運算和控制的元器件拒啰,一個是程序運算調度的最小單位。
CPU被高頻次使用大概有以下幾個原因:
1完慧、程序運算復雜(高運算量)谋旦,例如高精度等,導致CPU滿負荷運載
2屈尼、程序線程短時間內無規(guī)則搶占CPU資源册着。
3、wakelock喚醒鸿染。
4指蚜、定時器乞巧。
四涨椒、其他
我們用的多是GPS定位、Sensor遙感绽媒,只有當我們需要的時候才去打開這些硬件資源蚕冬,并且及時釋放。