【发布时间】:2013-10-13 15:39:03
【问题描述】:
为了在我的游戏中切换关卡,我重新创建了我的 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()
但问题仍然存在。
【问题讨论】:
-
你能告诉我们
ResourcesManager.getInstance().unloadGameTextures()的代码吗? -
还有你使用的图片和图集的尺寸是多少?
标签: java android andengine out-of-memory scene