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