Ich habe dieses eigenartige Problem beim Ausführen einer Verarbeitungsanwendung in IntelliJ IDEA. Ich möchte ein großes Bild speichern und dazu führe ich folgende Ausnahme aus:
Ausnahme im Thread "Animations-Thread" java.lang.OutOfMemoryError: Java-Heap-Space bei java.awt.image.DataBufferInt. (DataBufferInt.java:75) bei java.awt.image.Raster.createPackedRaster (Raster.java:467) bei java.awt.image.DirectColorModel.createCompatibleWortableRaster (DirectColorModel.java:1032) bei java.awt.image.BufferedImage. (BufferedImage.java:331) bei processing.core.PImage.saveImageIO (PImage.java:3117) bei processing.core.PImage.save (PImage.java:3297) bei OffScreenRender.stopRender (OffScreenRender.java:38) bei MainVecField.draw (MainVecField.java:93) bei processing.core.Plapplet.handleDraw (PApplet.java:2305) bei processing.core.PGraphicsJava2D.requestDraw (PGraphicsJava2D.java:243) bei processing.core.PApplet.run (PApplet.java:2176) bei java.lang.Thread.run (Thread.java:724)
Es gibt also eindeutig ein Speicherzuweisungsproblem. Das Problem ist, dass wenn ich die .vmoptions Dateien in IntelliJ ändere, die gleichen Ergebnisse erhalten, haben sie keine Wirkung. Die "Speicher" -Nummer in der unteren rechten Ecke der IDE erhöht sich entsprechend, aber es scheint nicht zu erlauben, dass meine Anwendung mehr Speicher zuweist.
Wenn ich die Verarbeitungsanwendung in der Entwicklungs-IDE ausführe, kann ich viel größere Dateien speichern, indem ich eine große Zwischenspeichergröße festlege.
In IntelliJ scheint nichts über 256 MB einen Unterschied zu machen. Meine Frage ist also, wie setze ich eine größere Heap-Größe in IntelliJ, die meiner Anwendung erlaubt, mehr Speicher zuzuordnen?
Danke für Ihre Hilfe!
Ich füge den Code für mein Projekt an, falls jemand es ausprobieren möchte:
%Vor%Das Ändern der vmoptions-Datei passt den von IntelliJ verwendeten Speicher an, aber Sie haben hier zu wenig Speicher für JRE, der von IntelliJ zum Ausführen Ihrer Anwendung gestartet wird. Sie müssen die Speichereinstellung in den VM-Optionen der Run / Debug-Konfiguration anpassen, zum Beispiel:
IntelliJ zeigt Ihnen die verwendete Menge und die aktuelle Größe des Heapspeichers. Sie versuchen, das Maximum festzulegen, das nicht angezeigt wird.
Sie können VisualVM an IntellIJ anhängen, um das Maximum anzuzeigen, indem Sie jvisualvm
Tags und Links java intellij-idea processing heap-size processing-ide