Java LIBGDX游戏内存泄漏
我正在用LibGDX为Android开发一个游戏。如果我开始我的游戏它的工作,但我调试内存使用这种方法Java LIBGDX游戏内存泄漏,java,memory-leaks,libgdx,Java,Memory Leaks,Libgdx,我正在用LibGDX为Android开发一个游戏。如果我开始我的游戏它的工作,但我调试内存使用这种方法 Gdx.app.log("Java Heap", String.valueOf(Gdx.app.getJavaHeap())); Gdx.app.log("Native Heap", String.valueOf(Gdx.app.getNativeHeap())); Java堆是恒定的,但本机堆在高位爬升。我用文本按钮、标签等在屏幕上做15-20个动作。并为图像导入.png文件。我使用dis
Gdx.app.log("Java Heap", String.valueOf(Gdx.app.getJavaHeap()));
Gdx.app.log("Native Heap", String.valueOf(Gdx.app.getNativeHeap()));
Java堆是恒定的,但本机堆在高位爬升。我用文本按钮、标签等在屏幕上做15-20个动作。并为图像导入.png文件。我使用dispose()方法保存这些文件,但是本机堆会更高,我不知道是什么填充了内存
现在我的问题是,给它一种调试内存使用情况的方法,还是给它一种清除dispose()中所有本机堆的方法?如果现在有人想帮忙,请告诉我。我尝试使用eclipse for android优化游戏的方式是通过
DDMS
。有两个关键选项卡,堆
和分配跟踪器
。
Heap
将让您知道此时消耗了多少堆内存。
Allocation Tracker
将跟踪内存分配,以及谁在分配该内存的类堆栈跟踪
还有一条金科玉律,永远不要在render方法中创建新对象。