在 Libgdx 中创建另一个纹理时,我应该调用 dispose() 纹理吗?

Should i call dispose() texture when create another texture in Libgdx?

我正在使用 Libgdx 创建游戏。我的游戏将加载图像并显示在屏幕上,如下所示:

sprite = new Sprite(texture1);

然后它会在几秒钟内加载另一张图片并显示它。

sprite = new Sprite(texture2);

那么,我应该在加载第二张图片之前调用 spirte.getTexture().dispose() 吗? 或者当我们创建新的Sprite时,第一个Texture会自动处理?

是的,在您失去对它的引用之前必须在任何一次性对象上调用它,否则会发生内存泄漏。

如果您要在游戏的整个生命周期中使用纹理,您可能不打算处理它,但在 Android 上,您仍然必须在游戏的处理方法中进行处理,因为那里在某些情况下 Android 会关闭您的 Activity 但不会关闭整个应用程序,因此当用户重新打开您的游戏时,所有之前的纹理都会泄露。