全國免費咨詢熱線:400-611-9921
 
APP耗電優化的相關知識

2017-11-24

1353

文章縱天廣州 網站建設結合自身經驗分享了關于APP耗電優化的相關知識,希望能夠給你帶來幫助。雖然市面上出現了各種大容量的電池或者快充技術,但是目前在沒有新材料的支撐下,都不可能完全解決app耗電這個難題,作為産品經理在設計産品的時候無論是否考慮耗電這個因素,用戶對某一個app耗電的多少其實是不容易感知的,即便是這樣,也希望大家能夠了解app耗電和優化的一些基礎知識,在移動互聯網時代下,這或多或少對于用戶來說都是有益的。
文章縱天廣州 網站建結合自身經驗分享了關于APP耗電優化的相關知識,希望能夠給你帶來幫助。

雖然市面上出現了各種大容量的電池或者快充技術,但是目前在沒有新材料的支撐下,都不可能完全解決app耗電這個難題,作為産品經理在設計産品的時候無論是否考慮耗電這個因素,用戶對某一個app耗電的多少其實是不容易感知的,即便是這樣,也希望大家能夠了解app耗電和優化的一些基礎知識,在移動互聯網時代下,這或多或少對于用戶來說都是有益的。

1.關于手機耗電

先來說一說手機耗電,一般來講,手機耗電分為以下五個因素:

電池本身:電池的材料、密度等。
硬件配置:屏幕、處理器、數據處理等等。
操作系統:無論是原生還是定制化的操作系統,都會對耗電有極大影響。
應用軟件:本文要說的。
其他:充電次數、外界溫度等等。
我們可以使用專業的測試手機電流的軟件測試手機的電流,這樣是非常精确的,或者下載三方app,最簡單是在手機設置的電量管理中觀察不同app消耗的電量多少。


2.應用軟件耗電

了解這塊之前要知道CPU為什麼會耗電?CPU在運行複雜度不同的任務是采用調頻處理的,當手機處理複雜任務時,頻率也會提高,自然對于電量的需求會增加。另外,當APP進程的CPU使用率超過1%的時候,都是耗電比較大的。應用軟件為什麼會耗電?又是通過什麼途徑來耗電的?總結起來大概有以下幾點:


頻繁的交互
正常情況下,關閉後台軟件,在玩王者榮耀遊戲和聽音樂的時候手機耗電一定是差别很大的,因為玩遊戲的時候會和屏幕産生很多的交互,但是聽音樂就不會這樣,頻繁的交互式非常耗電的,


動畫效果
當我們設計交互動畫的效果時,調用的都是view或者其子類,比如按鈕在點擊前是效果1,點擊後變成效果2,設置更複雜的動畫,此時view的重繪讓CPU或GPU不斷計算,耗電量同樣會增加。


布局文件嵌套太多
直接地說,app的布局文件影響着app展示給用戶的效果,當布局過于複雜,布局文件嵌套太多時,布局xml文件越來越繁多,查找、加載這些文件顯示時會造成CPU計算加重,也會影響手機耗電。


數據庫,SD卡操作頻繁
安卓時基于輕量級數據庫sqllite,關系型數據庫的特征就是會有複雜的數據表關系,頻繁地調用數據庫查詢語句會加重系統的負擔,同樣的也會耗電,甚至會影響整體的性能。


定時任務喚醒CPU
安卓CPU休眠時一種安卓極緻省電的一種模式,如果你息屏一段時間,CPU會自動進入休眠,但是喚醒CPU和亮屏不是一個概念,有這樣一個過程,當某個應用喚醒CPU,給你推送了某條通知,當你亮屏打開手機後會看到這條通知,那麼它就是喚醒了手機的CPU,而我們知道CPU工作時需要電量了,尤其是在頻繁喚醒的情況下,或者發送心跳包。


頻繁切換網絡造成
切換網絡往往需要硬件的支持,硬件需要跑起來也是需要電量的,并且數據網絡比wifi更加耗電,2G,3G,4G網絡耗電都不同。


高運算量代碼
比如解析json這類耗時時間較長的數據格式,或二進制編碼解碼等。
除了上述幾個原因之外,後台常駐service、任務堆積的隊列太多,導緻循環執行太多(log日志的保存)Wake Lock使用不當導緻沒有及時的釋放等都會加重安卓手機的耗電。


3.應該怎麼做?

減少應用與屏幕的交互

比如長時間讓應用動态地翻滾顯示不同的頁面,當然除此之外還包括用戶和屏幕的交互,在設計app的時候适當簡化用戶的操作流程,簡化掉可以幫助用戶做的,不僅僅是為了省電,也可以提高用戶的效率。

減少不必要的動畫效果

有些複雜的動畫效果完全可以省略,采用靜态的app啟動頁,或者是點擊事件的交互、頁面跳轉時就用盡量減少不必要的動畫效果。

簡化布局文件,避免過多的嵌套

在設計app時,在某一頁上應該盡量簡化布局,例如三星S8負一屏,用卡片方式呈現,布局就很簡潔

減少數據庫,SD卡操作

在做搜索功能時,要特别注意,搜索文件、聯系人、短信、通話記錄這些都是要進行數據庫或者SD卡操作的,一方面我們要設計合理的數據表,另一方面也要盡量減少這類的搜索,能避免使用時就不用。

非必要不要使用定時任務

基于定時任務的意義,大部分的定時任務都不容易取消。

除了産品經理可以做這些,程序開發者能夠做的有以下幾點:

非必要必要監聽網絡廣播
減少非必要log的保存,log開關的設置
減少json數據解析,二進制編碼解碼等高運算量代碼
非必要不要使用後台常駐service
Wake Lock使用不當導緻沒有及時的釋放

雖然我們很清楚耗電的原因,但是我們還是做不好,涉及的因素方方面面,我們無法改變重構底層代碼、無法優化整個系統、技術瓶頸、不得不定時發送心跳包…但是作為一名産品經理我們能夠做到是盡量減少交互、改善産品交互邏輯、優化動畫效果、簡化布局…其實我們能夠做的還很多。


本文來自廣州品牌網站建設網站設計制作公司-縱天科技

标簽:廣州網站建設公司,廣州網頁設計公司,廣州網站設計公司,網站建設 廣州,廣州 網站建設,廣州企業網站建設營銷型網站建設,網站建設設計,廣州網站開發網站制作設計



立即緻電縱天品牌顧問:
400-611-9921
聯系我們:

地址1:廣州市天河區中山大道中38号加悅大廈8F

地址2:杭州市濱江區濱安路1190号智彙中心B308

業務 QQ: 251232156

E-mail: sales@caifu38890.cn

電話咨詢 在線咨詢 QQ咨詢 官方微信
官方微信
TOP

立即與縱天項目顧問通話

400-611-9921

您也可以咨詢我們的在線客服或預約資深顧問

信息保護中,請放心填寫
關閉