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

时间:2015-10-27 08:31:01

标签: java android libgdx textures sprite

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

sprite = new Sprite(texture1);

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

sprite = new Sprite(texture2);

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

1 个答案:

答案 0 :(得分:1)

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

如果你打算在你的游戏生命周期中使用纹理,你可能不打算永远不需要处理它,但是在Android上你仍然必须使用Game的dispose方法,因为有些情况会关闭Android关闭你的活动而不是整个应用程序,所以当用户重新打开游戏时,所有以前的纹理都会泄露。