0

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

问题是每次活动进入后台(通过主页或返回键)并返回时,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();
    }
}
4

1 回答 1

0

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

@Override
public void onResume() {
    super.onResume();
    CCDirector.sharedDirector().resume();
}
于 2012-01-13T17:54:29.367 回答