android 性能優化

一、電量

電量當然是我們在開發的移動應用中必須要做處理的部分,因爲誰都不希望自己的移動設備因爲安裝了你的應用而大大縮短了自己的待機時間,當然長連接電源的就不用考慮了,因爲它從來不會考慮沒電的情況,就比如盒子,所以我們要進行電量的優化

要做優化我們必須知道應用電量的消耗,我們如果自己去創造一寫代碼在我們的應用中去監聽電量的消耗,那肯定是不行的,因爲它就是一個耗電的東西了,最好是依靠第三方的。

1.1 Battery Historian

它是Android 5.0 開始引入的一個API,可以獲取設備上電量的使用情況

$ adb shell dumpsys batterystats > xxx.txt  //得到整個設備的電量消耗信息
$ adb shell dumpsys batterystats > com.package.name > xxx.txt //得到指定app相關的電量消耗信息

得到之後呢?再使用Google編寫的一個Python腳本把數據信息轉換成可讀性更好的html文件

$ python historian.py xxx.txt > xxx.html

 

打開html 文件就可以看到具體的電量消耗情況了

1.2 Track Battery Status & Battery Manager 可以獲取到手機充電的電量

1.3 優化電量

1.3.1 本來高效的保存電量和讓用戶使用我們的APP這是一個矛盾的話題,但是不得不面對

Android 會不斷的關閉各種硬件來延長待機時間,屏幕會由量變暗再關閉,CPU進入睡眠狀態,一般應用都是嘗試喚醒CPU,一般最簡單的是WakeLock 保持CPU關閉,當然這種操作的時候,我們要對WakeLock的釋放就顯得很重要了,

1.3.2 網絡訪問的時候也會造成電量消耗,這是我們應該採取緩存機制,儘量避免頻繁請求網絡, 使用合適的網絡請求技術,對將要請求的數據進行緩存,和時間間隔的判斷,當有緩存並且沒有超出時間間隔的時候就直接顯示緩存,讓用戶自己去做更新等操作,

1.3.3 推送 ,推送的時候也會造成電量的消耗,我們都知道推送的原理就是建立了一個長連接,這時我們也要進行優化,包括選擇合適的三方推送或者自己的推送內部機制的實現。

1.3.4 還有其他方面的原因,我們在開發的時候就依據需求自己指定方案了,

以後將其他優化全部補上來
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章