我正在使用android 中的libgdx开发游戏。我处理了游戏结束时使用的所有纹理(win-lose-restart),但我的虚拟机没有被清除。我试过
gl.glDeleteTextures(1, textureHandle, 0);
我处理所有纹理、世界、对象等。但是 vm 大小是相同的。由于这个问题,我在玩了几个关卡后得到了OutOfMemoryException 。
您使用哪些 libgdx API 来加载纹理?默认情况下,libgdx 将管理纹理内存,例如,如果您的应用程序被挂起,它可以将纹理重新加载到视频 RAM 中。在此处查看有关上下文丢失的 badlogic 博客文章:http ://www.badlogicgames.com/wordpress/?p=1073
这意味着你需要告诉 libgdx 释放纹理,而不是直接告诉 OpenGL 释放纹理。请参阅Texture.dispose()。