Hallo zusammen
Folgende Ausgangssituation hab ich:
Ich lese einen ganzen Haufen BufferedImage's ein - sagen wir ca. 100 Stück.
Jedes BufferedImage hat ungefähr folgende Eigenschaften, die mir mein Bildbetrachter so sagt:
Auflösung : 1653 x 2338 (3.9 MP)
uncompressed size : 11,1 MB
Nun lese ich diese files ein und speichere sie in einer ArrayList zwischen.
--> Dort liegt der Hase im Pfeffer! - Nur hat er sich bestens getarnt und ich seh Ihn nicht - ein klarer Fall von Farbenblindheit!
Das Einlesen erfolgt in der Schleife.
Ich kann ungefähr 16 BufferedImage's einlesen - dann ist der Speicher alle!
Dann kommt sowas hier:
Nun bin ich mit meinem Latein am Ende!
Kurzfristige Lösung wäre sicher den Speicher zu erhöhen. (Mein Java läuft mit den default-einstellungen)
Frage 1.) Wieviel Speicher kriegt denn das Java per default?
Frage 2.) Kann ich es einfach um den Faktor 8 erhöhen?
Der Bild-betrachter sagt "uncompressed size : 11,1 MB" das wären bei 100 Stück ca. 1,2 GB - richtig gerechnet?
Frage 3.) Ist das der Speicher den das Java braucht? oder wird das anders gerechnet?
Vielen Dank und Grüße
Folgende Ausgangssituation hab ich:
Ich lese einen ganzen Haufen BufferedImage's ein - sagen wir ca. 100 Stück.
Jedes BufferedImage hat ungefähr folgende Eigenschaften, die mir mein Bildbetrachter so sagt:
Auflösung : 1653 x 2338 (3.9 MP)
uncompressed size : 11,1 MB
Nun lese ich diese files ein und speichere sie in einer ArrayList zwischen.
--> Dort liegt der Hase im Pfeffer! - Nur hat er sich bestens getarnt und ich seh Ihn nicht - ein klarer Fall von Farbenblindheit!
Das Einlesen erfolgt in der Schleife.
Ich kann ungefähr 16 BufferedImage's einlesen - dann ist der Speicher alle!
Java:
for (int i = 0; i < anzahlAlleBilder; i++) {
System.out.println("Durchlauf " + (i + 1));
BufferedImage myBI = dasEinzelBildAusDemNirvanaZiehen();
myListBI.add(myBI);
} // end for
Dann kommt sowas hier:
Java:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:58)
at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:397)
Nun bin ich mit meinem Latein am Ende!
Kurzfristige Lösung wäre sicher den Speicher zu erhöhen. (Mein Java läuft mit den default-einstellungen)
Frage 1.) Wieviel Speicher kriegt denn das Java per default?
Frage 2.) Kann ich es einfach um den Faktor 8 erhöhen?
Der Bild-betrachter sagt "uncompressed size : 11,1 MB" das wären bei 100 Stück ca. 1,2 GB - richtig gerechnet?
Frage 3.) Ist das der Speicher den das Java braucht? oder wird das anders gerechnet?
Vielen Dank und Grüße