我有一个程序,用户可以通过按键盘上的E键选择打开屏幕......然后此功能用于渲染该屏幕:
public void render(Graphics g, int x, int y, FontLoader fontLoader){
g.drawImage(imageManager.getImage("Inventory_Blank"), x, y,null);
this.length = inventoryItems.size();
if(length == 0)
return;
for(int i = -2; i < 3;i++ ){
if(selected + i < 0 || selected + i >= length)
continue;
drawString(g,inventoryItems.get(selected + i).getName(), (1366 / 2) - 190, (720 / 2) - 7 + i * spacing, true, Color.white, fontLoader.getFont28());
}
//not calling this will result in the program lagging and using a lot of memory...
System.gc();
}
这个工作正常,直到用户想要再次按E再次关闭屏幕..这不起作用......其他键似乎工作正常但E键无效...为什么这样发生?
如果我没有System.gc();在那里,程序将使用更多的内存......