首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理导致致命信号11

处理导致致命信号11
EN

Stack Overflow用户
提问于 2015-08-11 23:33:15
回答 1查看 62关注 0票数 1

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

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

但是,由于某些原因,每当我处理MenuScreen中的任何东西时,它都会导致应用程序(Fatal signal 11)崩溃。(在切换不同屏幕时,也会在其他随机时间出现错误)。我不知道这是否与我在每个类中使用相同的名称命名我的文件有关。

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

代码语言:javascript
复制
batch = new SpriteBatch();
shapeRenderer = new ShapeRenderer();

然后,在每个类的dispose()函数中,我执行以下操作:

代码语言:javascript
复制
batch.dispose();
shapeRenderer.dispose();

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

即使我不处理MenuScreen类中的任何内容,切换屏幕时也会时不时地出现Fatal Signal 11错误。

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

注意:

当切换屏幕时,我这样做:

代码语言:javascript
复制
game.setScreen(new ScreenName(game));

虽然game只是我的MainClass的一个实例

代码语言:javascript
复制
final MainClass game;
EN

回答 1

Stack Overflow用户

发布于 2015-08-11 23:39:40

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31946056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档