安卓流暢度測試

轉:http://www.cnblogs.com/summer-sun/p/5524663.html


測試方法一:系統自帶-開發者模式

實際上,爲了方便開發者測試,安卓本身就內置了流暢度檢測的功能。不過,這需要我們開啓隱藏的開發者選項。如果你在用原生系統,那麼開啓開發者選項的方法很簡單,進入到設置菜單“關於手機”頁面,點擊數次“版本號”,即可開啓開發者選項。如果用的是其他ROM,方法也許有所不同,比如說魅族的Flyme開啓開發者選項的方法是在撥號界面輸入“*#*#6961#*#*”,其他機器方法也各有不同,大家可以參照廠商的說明。

進入到開發者選項,可以看到有“GPU呈現模式分析”的選項,開啓後即可以條形圖和線形圖的方法顯示系統的界面響應速度,可以用以觀察系統流暢度。那麼要如何根據曲線判斷系統是否流暢呢?實際上這個曲線表達的是GPU繪製每一幀界面的時間,只要不超過頂部綠線,都可以視爲足夠流暢。

開啓GPU呈現模式分析

 

 

只要下方的曲線不超過綠線,都可以視之爲流暢

  使用系統自帶方法測試流暢度的好處很多,首先是數據準確,系統肯定最知道自己的幀率如何;其次是不佔資源,對流暢度測試的影響比較小。那麼這個方法是否萬無一失呢?其實還是有一些缺點的。比如說利用CPU渲染UI的App界面,就無法得到測試結果(當然這些界面基本無一例外卡頓無比,不用測也知道不流暢);當系統停頓了一下,例如微博加載圖片時,響應速度會大幅增加,曲線瞬間突破綠線——這情況不能說不流暢,因爲這屬於內容和界面先後響應的機制,如果光憑曲線是否突破綠線判斷是否流暢,未免太過侷限。

1.在設置裏打開GPU呈現模式分析。點擊Android設備的“設置”->"開發者選項",然後勾選“GPU顯示配置文件”。

 

2.  1.點擊Android設備的“設置”->"開發者選項",然後勾選“GPU顯示配置文件”。重啓我們的應用。啓動應用以後,在應用的頁面上做滑動

     2.lijiedeMacBook-Air:~ lijie$ adb shell dumpsys gfxinfo com.dianping.v1>fps.txt

 

3.打開生成的fps.txt,找到Profile data in ms這部分數據。

 

 

4.爲了看得更直接,我們可以把數據放到Excel中,然後以圖表的形式進行查看。

 

5.從圖中可以看出來,我這個應用的流暢度是很低的,正常情況下幀率應該在16ms左右,如果1秒60幀的話,而且Execute時間太長!所以是需要進行優化的。

點評APP

  

       a: "Draw" : 創建顯示列表(display lists,記錄所有view對象的繪製指令)的時間開銷。

       b: "Process" : 執行顯示列表中繪製指令的時間。UI視窗中的View數量越多,需要執行的繪畫命令就越多。

       c: "Execute" : 將一幀圖像交給合成器compostior的時間。這部分佔用的時間通常比較少

測試方法二:FPS Meter測試安卓幀數

 

 FPS Meter是一款非常實用的小軟件,能夠用數字實時顯示安卓界面的每秒幀數,非常直觀。此外,FPS Meter還可以顯示最大幀數、最小幀數以及平均幀數,用來評價安卓流暢度極具價值。由於涉及到了系統功能,所以FPS Meter需要root。如果你打算嘗試,請先root機後再使用。

軟件名稱:

FPS顯示(FPS Meter)

軟件版本:

1.5

軟件大小:

218KB

軟件授權:

免費

適用平臺:

Android

下載地址:

http://dl.pconline.com.cn/download/76451.html

  FPS Meter的使用很簡單,開啓App後啓動服務即可。在App內,你可以選擇幀數顯示的位置,以及是否開啓平均幀數、最低/最高幀數顯示。開啓服務後,即可看到有幀數顯示於界面上。這裏要注意,使用FPS Meter測量幀數需要在開發者選項中停用HW疊加層纔會比較準確。

 

                       FPS Meter可以顯示最大最小幀數以及平均幀數

     

      FPS Meter可以測試界面幀數,不過某些手機如果界面靜止,幀數會爲0。FPS Meter除了測量系統界面幀數外,還可以用來測量遊戲的幀數,所以用FPS Meter來測試某部安卓機遊戲性能多強也是個很好的選擇。

 

  當然,FPS Meter也並非十全十美。由於屬於第三方App,所以可能會有一些兼容性問題。某些安卓機或者ROM使用FPS Meter可能會不兼容,即使成功開啓了幀數顯示也沒法測量到準確數值,而某些設備使用FPS Meter甚至會死機。不過在大多數情況下,這款App還是相當值得信任的。

 安卓在多個版本中都通過新技術提升了流暢度,比如說安卓2.3引入Dalvik、安卓4.0引入GPU界面繪製、安卓4.1引入黃油計劃、安卓4.3引入Trim以及安卓4.4引入ART等等。

 

H5頁面加載速度:window.performance.timing

Android以上測試方法不適用h5頁面

 

如何分析頁面整體加載速度:

 

 

     主要是查看指標值PAGET_頁面加載時間,此指標指的是頁面整體加載時間但不含(onload事件和redirect), 此指標值可直接反應用戶體驗, 從此項指標可以知道指定某時間段的頁面加載速度值,以及和天,周,月的對比狀況.也可以查詢指標ALLT_頁面完全加載時間, 可以查詢到從瀏覽器開始導航(用戶點擊鏈接或在地址欄輸入url或點刷新,後退按鈕)到頁面onload 事件js完全跑完的所有時間.如果發現頁面加載速度有增加或減少,則可以分項查詢前面表格中的每個指標值,總的來說他們的關係如下:

 

dom開始加載前所有花費時間=重定向時間+域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間

 

pageLoadTime頁面加載時間=域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間+解析dom花費時間+加載dom花費時間

allLoadTime頁面完全加載時間=重定向時間+域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間+解析dom花費時間+加載dom花費時間+執行onload事件花費時間

 resourcesLoadedTime資源加載時間=解析dom花費時間+加載dom花費時間

 

流暢度暫時沒有發現好用的測試衡量工具,開發層面瞭解,主要是根據log分析


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