【騰訊TMQ】GT3.1簡化您的App性能測試(1)——全新的性能監測體系

導讀

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,獲取更多測試乾貨!

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