KeyListener在调用System.gc()

时间:2017-11-22 14:52:06

标签: java garbage-collection

我有一个程序,用户可以通过按键盘上的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();在那里,程序将使用更多的内存......

0 个答案:

没有答案