我想測量某個使用TextureView的Android視圖的FPS(刷新率)。爲此,我需要一些以編程方式測量FPS的方法(例如,不使用ADB.exe而不使用第三方應用程序或工具)。我看過this question但它不回答在哪裏記錄幀時間。Android如何以編程方式測量視圖或應用程序的FPS
在屏幕刷新或組成時,Android中是否有API來獲取事件?使用它可以相對簡單地測量幀時間,從而計算出FPS。
CPU使用率相同的問題。任何或所有API來衡量性能讚賞!
我想測量某個使用TextureView的Android視圖的FPS(刷新率)。爲此,我需要一些以編程方式測量FPS的方法(例如,不使用ADB.exe而不使用第三方應用程序或工具)。我看過this question但它不回答在哪裏記錄幀時間。Android如何以編程方式測量視圖或應用程序的FPS
在屏幕刷新或組成時,Android中是否有API來獲取事件?使用它可以相對簡單地測量幀時間,從而計算出FPS。
CPU使用率相同的問題。任何或所有API來衡量性能讚賞!
嗯,它看起來像TinyDancer可以做你想做什麼:
//you can add a callback to get frame times and the calculated
//number of dropped frames within that window
TinyDancer.create()
.addFrameDataCallback(new FrameDataCallback() {
@Override
public void doFrame(long previousFrameNS, long currentFrameNS, int droppedFrames) {
//collect your stats here
}
})
.show(this);
}
如果你需要知道的CPU使用率,你可以隨時使用top
。水木清華這樣的:從Android應用is not difficult
[email protected]:/data # top -n 1 -s cpu
User 28%, System 29%, IOW 0%, IRQ 0%
User 189 + Nice 162 + Sys 355 + Idle 509 + IOW 0 + IRQ 0 + SIRQ 2 = 1217
PID PR CPU% S #THR VSS RSS PCY UID Name
31096 0 20% S 20 463368K 78884K fg u0_i77 com.android.chrome:sandboxed_process0
29042 1 11% S 54 451036K 84876K fg u0_a10 com.android.chrome
130 2 9% S 25 79228K 37136K fg system /system/bin/surfaceflinger
...
...
...
調用系統命令。
棒極了!謝謝。我會試一下 –
考慮這個庫:https://github.com/friendlyrobotnyc/TinyDancer – chRyNaN