Java LibGDX:AssetsManager GdxRuntimeException在处理时发生异常
您好,我对libGDX中的Java LibGDX:AssetsManager GdxRuntimeException在处理时发生异常,java,libgdx,Java,Libgdx,您好,我对libGDX中的AssetsManager有问题 我使用AssetManager加载TTF和Skin,并将TTF添加到Skin。然后,当Idispose时,AssetsManager抛出异常 我知道问题应该是skin和assset管理器处理相同的pixmap。但有没有办法防止这种情况发生 Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Pixmap already d
AssetsManager
有问题
我使用AssetManager
加载TTF
和Skin
,并将TTF
添加到Skin
。然后,当Idispose时,AssetsManager
抛出异常
我知道问题应该是skin和assset管理器处理相同的pixmap。但有没有办法防止这种情况发生
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Pixmap already disposed!
at com.badlogic.gdx.graphics.Pixmap.dispose(Pixmap.java:315)
at com.badlogic.gdx.graphics.g2d.PixmapPacker$Page$1.dispose(PixmapPacker.java:384)
代码:
编辑:我解决了。但我不喜欢这个解决方案
public void dispose() {
skin.remove(Const.TTF_ARIAL_SMALL, BitmapFont.class);
manager.dispose();
}
一旦不再需要该资产,您希望释放它以避免内存泄漏。使用:
manager.unload( yourAsset ) ;
如果您想释放所有资产,无论是否
立即排队或加载,而不是逐个执行:
manager.clear() ;
但是,通过使用clear()方法,AssetManager仍然处于活动状态,最后:
manager.dispose
manager.dispose