我一直在研究内存泄漏,我很困惑为什么要调用 SpriteBatch.dispose()
。我认为当您运行 spriteBatch.begin()
和 spriteBatch.end()
时,这足以防止内存泄漏等。
最佳答案
不,begin()
和end()
与dispose
方法有很大不同。
根据documentation ,
你对 dispose
方法的行为是正确的。
Releases all resources of this object.
begin()
和end()
用于设置关联的Batch
进行渲染,注意可以有多个batch 绘制。批处理中的所有绘制调用都必须在 begin
和 end
方法之间完成。它们与释放内存无关,因此如果您愿意,您需要执行 dispose()
。
关于java - LibGDX:为所有内容保留 1 个 SpriteBatch 而不丢弃它有什么危害?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44557887/