【问题标题】:Framedrops with Cocos2d-android when the game activity resumes游戏活动恢复时使用 Cocos2d-android 丢帧
【发布时间】:2012-01-14 23:12:02
【问题描述】:

我正在尝试一些适用于 android 的游戏引擎并遇到了cocos2d-android-1。 我已经建立了一个小例子,除了显示一个 FPS 计数器之外几乎什么都不做。

问题在于,每次活动进入后台(通过 home 或 back 键)并返回时,FPS 都会下降很多。在第一次开始时,他们对我来说大约是 60 岁(HTC Desire),在恢复活动后,他们保持在 10 岁以下。

活动在清单中固定为横向并使用@android:style/Theme.Black.NoTitleBar.Fullscreen 启用全屏模式。

当我从设备设置中的应用程序菜单中停止应用程序时,它会重置所有内容。第一次启动再次获得 60 fps,下一次启动也会下降。

我该如何解决这个问题?

这是一个小的工作示例:

public class MainActivity extends Activity {

    private CCGLSurfaceView glSurfaceView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        glSurfaceView = new CCGLSurfaceView(this);
        setContentView(glSurfaceView);
    }

    @Override
    public void onStart() {
        super.onStart();

        CCDirector.sharedDirector().attachInView(glSurfaceView);
        CCDirector.sharedDirector().setDisplayFPS(true);
    }

    @Override
    public void onPause() {
        super.onPause();

        CCDirector.sharedDirector().pause();
    }
}

【问题讨论】:

    标签: java android cocos2d-android


    【解决方案1】:

    好的,修好了。显然我忘了在导演上调用 resume() 。 将此添加到上面的代码中,它可以正常工作:

    @Override
    public void onResume() {
        super.onResume();
        CCDirector.sharedDirector().resume();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      相关资源
      最近更新 更多