在我的 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;