有人知道如何获取安卓设备的FPS(每秒帧数)吗?
开发设置中有一个选项可以显示 FPS,但我想编写一个应用程序来执行相同的操作。
它在内部调用surfaceflinger
api。
在主Activity
类中重写onDraw()
方法。调用super.onDraw()
然后存储当前系统时间。计算当前要绘制的调用和上一个要绘制的调用之间的delta_time
(以毫秒为单位)。 然后使用1000 ms / delta_time ~ FPS
计算 FPS
下面是一些伪代码:
void onDraw(){
super.onDraw()
curTime = getTime();
deltaTime = curTime - prevTime();
aproxFps = 1000 / deltaTime;
prevTime = curTime;
}
除非您
植根设备并以某种方式进入引擎盖下,否则这不是您可以做的事情。