有没有关于如何获取安卓设备FPS(每秒帧数)的想法?
在开发设置中有一个选项来显示FPS,但我想编写一个应用程序来实现同样的功能。
它内部调用了surfaceflinger
API。
有没有关于如何获取安卓设备FPS(每秒帧数)的想法?
在开发设置中有一个选项来显示FPS,但我想编写一个应用程序来实现同样的功能。
它内部调用了surfaceflinger
API。
Activity
类中重写onDraw()
方法。调用super.onDraw()
然后存储当前系统时间。计算从先前绘制调用到当前绘制调用之间以毫秒为单位的delta_time
。然后使用1000ms / delta_time ~ FPS
计算FPS。void onDraw(){
super.onDraw()
curTime = getTime();
deltaTime = curTime - prevTime();
aproxFps = 1000 / deltaTime;
prevTime = curTime;
}
除非您对设备进行root并以某种方式进入底层,否则无法完成此操作。