This article is a translate version of Libgdx wiki. For the original version, please refer to >>Link<<
默认情况下,Libgdx的渲染线程会不断的调用你程序中ApplicationListener实现类的render()方法,频率取决于你的硬件(30到50,甚至是80次每秒)
如果在你的游戏里有很多固定的画面(比如card类游戏),你可以通过禁用这种持续的渲染方式,来节省宝贵的电量。而且在你需要的时候才进行渲染。
你只需要将下面两行代码,放到ApplicationListener's中的create()方法中:
Gdx.graphics.setContinuousRendering(false);
Gdx.graphics.requestRendering();
第一行告诉引擎,停止自动调用render()方法。第二行代码是一个触发器,引擎会调用render()方法一次。你必需在你需要更新界面的时候使用第二行代码,告诉引擎,界面现在要刷新了。
如果自动渲染方法被禁用,render()方法会在以下几种情况被调用。
- 有输入事件发生
- Gdx.graphics.requestRendering();被调用
- Gdx.app.postRunnable()被调用