private long mStartFrameTIme = 0;
private int mFrameCount = 0;
private static final long MONITOR_INTERVAL = 160L;
private static final long MONITOR_INTERVAL_NANOS = MONITOR_INTERVAL * 1000 * 1000;
private void getFps() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
return;
}
Choreographer.getInstance().postFrameCallback(new Choreographer.FrameCallback() {
@Override
public void doFrame(long frameTimeNanos) {
if (mStartFrameTIme == 0) {
mStartFrameTIme = frameTimeNanos;
}
float interval = (frameTimeNanos - mStartFrameTIme) / 1000000.0f;
if (interval > MONITOR_INTERVAL) {
double fps = ((double) mFrameCount * 1000L) / interval;
Log.e("test", "fps:" + fps);
mFrameCount = 0;
mStartFrameTIme = 0;
} else {
++mFrameCount;
}
Choreographer.getInstance().postFrameCallback(this);
}
});
}
Android 代码获取帧率FPS
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 占坑,有空写。 两种方法, adb shell app_process, 通过adb运行java可执行jar,提取...
- 更多音视频知识请点击:专注音视频开发 从码流中获取分辨率 宽高可从SPS字段计算得到,公式如下: 但以上是针对宽高...
- 视频码率、帧率和分辨率到底哪一个影响电影的清晰度 码率:影响体积,与体积成正比:码率越大,体积越大;码率越小,体积...
- 原文地址: https://blog.csdn.net/pc9319/article/details/796213...
- http://www.latelee.org/my-study/get-width-height-framerat...