1

在我的 libgdx 游戏中,我有多个屏幕。我有点不确定如何正确使用该dipose()方法。

在每个屏幕中,我都会创建某些变量,然后在dispose()方法中进行处理。我在网上读到,如果我不处置,它会导致内存泄漏并使程序崩溃。

但是,出于某种原因,每当我在 my 中处理任何内容时MenuScreen,都会导致应用程序 ( Fatal signal 11) 崩溃。(切换不同画面时,其他随机时间也会出现该错误)。我不知道这是否与我在每个类中将文件命名为相同的名称有关。

例如,在create()每个类的函数中我这样做:

batch = new SpriteBatch();
shapeRenderer = new ShapeRenderer();

然后在dispose()每个类的功能中我这样做:

batch.dispose();
shapeRenderer.dispose();

在每个类中保持相同的变量名会影响我的代码吗?除此之外,我手动处理每个图像、声音和字体。

即使我没有在MenuScreen课堂上处理任何东西,Fatal Signal 11切换屏幕时也会时不时地发生错误。

抱歉含糊不清,但我不确定是什么导致了这个错误。切换屏幕时也有大约 1 秒的延迟。

笔记:

切换屏幕时,我会:

game.setScreen(new ScreenName(game));

game只是我的一个实例MainClass

final MainClass game;
4

1 回答 1

0

既然您正在传递主类的实例,为什么要在每个类中创建一个新批次?只需使用主类的批次

于 2015-08-11T15:39:40.340 回答