【问题标题】:OnDraw of SurfaceView calling periodSurfaceView调用周期的OnDraw
【发布时间】:2013-12-02 05:49:23
【问题描述】:

我想知道 SurfaceView 的 OnDraw 方法的调用周期是多少。是否取决于设备?

例如,这个方法是每秒调用 32、24 还是 16 次?

谢谢大家!

【问题讨论】:

    标签: android surfaceview ondraw


    【解决方案1】:

    每次需要刷新视图时,Android 都会调用视图类(例如 SurfaceView)的onDraw() 方法。视图刷新的次数取决于设备的Refresh Rate

    您可以使用getRefreshRate() 获取显示器的刷新率(以每秒帧数为单位)。

    Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    int refreshRate = display.getRefreshRate();
    

    【讨论】:

    • 谢谢!我想我也可以用它来测量时间,我不需要高精度,只是为了引用一些 Sprite。
    • 两次 onDraw() 调用之间的时间间隔将为 1000/refreshRate(即,以毫秒为单位的总时间除以每秒的帧数)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 2011-09-09
    • 1970-01-01
    • 2011-08-04
    • 2013-03-11
    • 1970-01-01
    • 2014-03-07
    相关资源
    最近更新 更多