1
我不知道這段代碼是否會導致內存泄漏?因爲我仍然不知道什麼時候應該放置紋理。紋理應該放在方法的最後?或在未使用後分開處置?將在方法範圍內的紋理聲明導致內存泄漏?
private void loadAssets() {
Texture texture = new Texture(Gdx.files.internal("data/controls.png"));
TextureRegion[] buttons = TextureRegion.split(texture, 64, 64)[0];
left = buttons[0];
right = buttons[1];
jump = buttons[2];
cubeControl = buttons[3];
cubeFollow = TextureRegion.split(texture, 64, 64)[1][2];
dpad = new TextureRegion(texture, 0, 64, 128, 128);
batch = new SpriteBatch();
batch.getProjectionMatrix().setToOrtho2D(0, 0, 480, 320);
}
我真的不明白。爲什麼Java中仍然存在內存泄漏?
爲了解決「Java爲什麼仍然存在內存泄漏」問題,儘管Java有GC,但它仍然可能存在內存泄漏(但技術上與c/C++不同)。它通常發生在你實例化一個對象(直接/間接)並且代碼在某處維護一個不明確的引用。該對象將永遠不會被GCed。這就是我們所說的Java中的內存泄漏 – Santosh