每秒Android帧数

时间:2015-03-10 15:30:53

标签: android frame-rate

是否可以通过编程方式获取这些值:

  • 每秒帧数
  • 如果整个视图立即失效,则调用方法onDraw()的频率。

1 个答案:

答案 0 :(得分:3)

1)以下是我计算fps的方法:

public class MyView extends View {
    private int    mFPS = 0;         // the value to show
    private int    mFPSCounter = 0;  // the value to count
    private long   mFPSTime = 0;     // last update time

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        if (SystemClock.uptimeMillis() - mFPSTime > 1000) {
            mFPSTime = SystemClock.uptimeMillis();
            mFPS = mFPSCounter;
            mFPSCounter = 0;
        } else {
            mFPSCounter++;
        }

        String s = "FPS: " + mFPS;
        canvas.drawText(s, x, y, paint);

        invalidate();
    }
}

或者只是编写自己的对象来为你计算:)...

2)尝试使用

Log.d(tag, "onDraw() is called");

在你的onDraw()方法中。