安卓 App 效能專項測試之流暢度深度解析 中篇

2022-09-15 19:27:14 字數 1291 閱讀 2147

毫無疑問,流暢度在android眾多效能指標中其重要程度不言而喻,而且也是最為複雜的乙個。為了描述這樣的乙個維度,業界大佬紛紛提出了各種指標來對其進行衡量。在上篇文章中給大家介紹了fps這一項指標的由來及卡頓的原理(丟幀),不熟悉的小夥伴可以點選進入先去了解一番。

但是僅憑藉fps指標來去衡量流暢度是遠遠不夠的。

步驟如下:

draw+prepare+process+execute=完整顯示一幀的時間

這個時間需要小於16.67ms才能保證不丟幀

fps資料分析:

計算總資料的行數(跳過第一行)

framecount=rownum(總行數)

計算每幀的渲染時間

rendertime=draw+prepare+process+execute

當渲染時間rendertime大於16.67ms,該幀渲染超時,算一次丟幀,需要用掉額外的vsync個數為(多需要的同步訊號):

vsyncovernum=rendertime/16.67-1

fps計算公式為

fps=framecount*60 / framecount+vsyncovernum

實際上在現在很多的android應用中,很少有需要不斷的去繪製的場景。比如:

fps很低,為什麼我們感覺不到卡頓?

因為本來就用不到那麼高的fps,如畫乙個動畫0.5秒就畫完了,那麼fps最高也就只有30幀/秒,而如果螢幕根本就沒有繪製需求,即螢幕顯示的畫面是靜止的,那fps就是為1。

究竟如何衡量非連續繪製應用的流暢度?

勾選要除錯的程序

返回到引數介面可以看到sm引數已被勾選

點選紅色按鈕即可開始測試,場景測試完畢之後即可儲存

得到的就是sm相關的資料。

APP專項測試 效能分析

1 先sdk platform tools 安裝adb 進入介面 2 安裝完成後可以使用adb 命令了 檢視下當前裝置 adb devices 檢視下當前包名 啟動某個應用,檢視應用包名和activity 三 adb logcat 使用 進入指定裝置shell adb s 127.0.0.1 755...

安卓PAD端APP效能測試 初級專案

二 效能指標分析 2 1 應用占用記憶體比 應用占用記憶體pss mb 應用記憶體使用情況分析 由上圖可以看出 在2分43秒和4分24秒左右出現2個拐點。應用使用記憶體突然提高,產品在測試這段時間內平均記憶體使用率為124m左右,從數量上來看應該是處於比較大的,但是這個資料可以做為基礎資料進行分析。...

安卓app測試之Monkeyrunner

一 monkeyrunner簡介 monkeyrunner提供了系列的api monkeyrunner可以完成模擬事件及截圖操作 分為以下三類 monkeyrunner 用來連線裝置或模擬器的 monkeydevice 提供安裝 解除安裝應用,傳送模擬事件 monkeyimage 完成影象儲存及對比...