什么时候在LibGDX中处理屏幕?

时间:2017-02-12 01:55:37

标签: java libgdx dispose

这个问题有点扯淡,因为我并不意味着处理屏幕本身。我正在使用的是用于切换屏幕的枚举和切换语句,而不是屏幕和游戏类。我在这里真正要问的是,当我从一个游戏状态切换到另一个游戏状态时,我是否应该事先处理掉所有的一次性用品?或者我只是保留所有这些而不用担心它,尽管我不再渲染它们,因为我要渲染一个单独的屏幕?我发现每次想要切换到另一个资源时都必须处理屏幕上的所有资源,这让我很烦,所以我想知道它是否真的有必要。

2 个答案:

答案 0 :(得分:2)

这是你的游戏选择和类型(你的游戏有很多资源)。

如果拥有大量资源,那么最好配置一个屏幕的资源,然后在内存中加载另一个屏幕的资源,之后再使用该资源。

在此方案中,以异步方式显示加载屏幕和加载资源。

如果没有大量资源,请仅在退出游戏时处置资源。继承游戏的dispose()是在此场景中处理您的游戏资源并从此处调用屏幕处置的最佳位置。以便屏幕特定资源可以处理。

答案 1 :(得分:0)

快速规则可以是:

如果您在应用程序启动时加载某些内容(Texture,TextureAtlas,Music,Sound等),并且您没有内存堆问题 - 请将其置于应用程序配置方法中。

但如果您在屏幕开始时为屏幕加载特殊内容,则应将其置于屏幕配置方法中。

如果你没有为前任处理资源。纹理它即使你不渲染它仍将在内存中。当您在屏幕内部加载一些纹理而不将其放置在屏幕处理方法中时,可能会导致内存泄漏,因为当您再次启动屏幕时第二次加载相同的纹理。