導讀
GT君此次給大家送來了強力的安卓GT3.1版本更新。在本次更新中,採用了在被測應用內嵌SDK的方式來獲取流暢值,解決了2.x版本測試應用流暢值必須root手機的痛點。除此之外,GT3.1版本引入了Hook功能,可以獲取更加豐富詳細的應用信息,例如頁面加載速度,卡頓代碼調用棧、IO使用情況等。
下面我們不妨來看看這些便利的功能點吧!
1 基礎性能分析
CPU:表示進程或線程的繁忙程度
內存:表示當前進程內存的使用情況
流量:表示當前進程網絡的使用情況
流暢值:表示當前應用的流暢程度
圖:基礎性能檢測的結果
2 卡頓檢查分析
低流暢值區間:流暢值低於40幀/s的區間(正常繪製間隔爲16.7ms即60幀/s)
單次大卡頓:當兩次繪幀間隔大於70ms,相當於丟了4幀以上的區間
圖:卡頓區間的代碼定位
3 頁面測速分析
Activity測速:包括Activity的冷/熱啓動、生命週期、繪製信息、卡頓信息、頁面平均流暢值,啓動時長等。
Fragment測速:包含了Fragment的冷/熱啓動、生命週期、卡頓信息、頁面平均流暢值,啓動時長等。
而以下幾種情況則可認爲頁面啓動卡頓或啓動超時:
Activity啓動時長超過250ms
Activity頁面1秒內卡頓超過300ms
Activity頁面5秒內卡頓超過500ms
Fragment啓動時長超過150ms
圖:每個Activity頁面詳細的啓動數據
圖:每個Fragment頁面詳細的啓動數據
4 佈局檢測分析
View構建時長:View在使用之前需要進行Infalte操作,此操作在主線程執行且耗時嚴重,通常是造成卡頓的直接原因。
View繪製深度:View的繪製深度決定着當前視圖的複雜度,複雜度越高,越容易引起卡頓。
而以下情況則可認爲View構建超時和繪製超時或View過於複雜:
當View構建時長超過30ms,則可認爲此View構建超時
當繪製時長超過10ms,則可認爲此View繪製超時
當View繪製深度大於8則可認爲View繪製過於複雜
圖:View構建的數據
圖:View繪製的詳情
5 線程時間片分析
圖:線程分析結果
6 DB檢測分析
圖:DB檢測結果
總結
除了以上那些維度的分析檢測外,還有包括GC檢測、關鍵日誌統計等維度的分析。測試簡單,操作便捷,最多30分鐘的測試時間,您就可以從多種維度,用不同的視角,全面瞭解您的應用!後續我們也將奉上詳盡的原理講解,溯本求源,讓大家更深入瞭解這些功能的實現原理。
項目開源地址:
https://github.com/Tencent/GT
如果您還有好的建議,可以給我們留言
未完待續……
版權所屬,禁止轉載!
掃描下方二維碼,關注微信公衆號:騰訊移動品質中心TMQ,獲取更多測試乾貨!