为了在我的游戏中切换关卡,我重新创建了我的 GameScene,但是当我切换关卡大约 3 或 4 次时,我得到一个 errno 12 内存不足错误。我需要能够以某种方式删除整个场景并阻止它在后台运行。有没有办法做到这一点,所以我不会耗尽内存?
编辑:
这是我加载新场景的方法。
public void loadGameScene(final Engine mEngine, final SharedPreferences sp, final String map) {
setScene(loadingScene);
ResourcesManager.getInstance().unloadMenuTextures();
mEngine.registerUpdateHandler(new TimerHandler(0.3f,
new ITimerCallback() {
public void onTimePassed(final TimerHandler pTimerHandler) {
ResourcesManager.getInstance().unloadGameTextures();
mEngine.unregisterUpdateHandler(pTimerHandler);
ResourcesManager.getInstance().loadGameResources();
GameScene gameScene = new GameScene();
gameScene.setSp(sp);
gameScene.loadLevel(map);
gameScene.loadMap(map);
setScene(gameScene);
}
}));
}
我排队
ResourcesManager.getInstance().unloadGameTextures()
但问题仍然存在。