Libgdx:dispose()如何工作?

我的游戏使用了大量的图像,对于世界范围的战斗屏幕,聊天等等。我对内存管理非常细致,而且我注意到即使我在加载时新的,记忆永远不会下降。

这不是Dispose()应该做什么还是我的理解错误?

类似于LibGDX这样的处理模式,在使用GC的语言中,除了(或代替)托管内存之外,通常还要释放不受管理的资源。 这对于C#的IDisposable接口是真实的,并且基于文档 LibGDX的模式服务于类似的目的。

这意味着仅仅看私人工作集CPU侧RAM的使用可能不是一个准确的方式来判断资源的处置是否按照预期工作。 例如,如果一个纹理没有将其图像数据caching在CPU上(期待它在GPU上),那么处理它就不会明显地影响CPU侧的内存。

LibGDX的源代码在GitHub上,所以你可以看看dispose方法的具体实现。 例如, 纹理或像素图 。