Hi,
habe festgestellt, dass ich beim Arbeiten mit Bildern sehr schnell einen OutOfMemoryError erhalte. Ich hab dann ein wenig rumgespielt und rumprobiert um zu testen, woran es liegt.
1. Ich bekomme beim Anzeigen großer Bilder einen OutOfMemoryError. Habe zuerst gedacht, dass es am skalieren liegt und deswegen einfach mal in ner endlos-Schleife ein Bild immer um 10 Prozent vergrößert. Als das Bild dann irgendwann mal um mehr als 20000 Prozent vergrößert war, ist selbst mir aufgefallen, dass es daran nicht liegen kann. Also bleibt noch das Anzeigen übrig. Das mache ich in einem JLabel, welches in einem JScrollPane liegt. Liegt das wirklich daran? Welche alternativen gibt es hier (eine eigene Klasse von JComponent abgeleitet ist auch nicht besser).
2. Auch wenn ich viele Bilder in einem Vector speichere bekomme ich einen OutOfMemoryError. Benötigt ein Vector den Arbeitsspeicher für seinen Inhalt am Stück oder ist ihm das egal, wo im Speicher sein Inhalt verteilt ist? Falls nicht egal, welche Klasse benötigt den Arbeitsspeicher nicht am Stück? (hoffe ich konnte mich einigermaßen verstänldich ausdrücken
).
Danke
habe festgestellt, dass ich beim Arbeiten mit Bildern sehr schnell einen OutOfMemoryError erhalte. Ich hab dann ein wenig rumgespielt und rumprobiert um zu testen, woran es liegt.
1. Ich bekomme beim Anzeigen großer Bilder einen OutOfMemoryError. Habe zuerst gedacht, dass es am skalieren liegt und deswegen einfach mal in ner endlos-Schleife ein Bild immer um 10 Prozent vergrößert. Als das Bild dann irgendwann mal um mehr als 20000 Prozent vergrößert war, ist selbst mir aufgefallen, dass es daran nicht liegen kann. Also bleibt noch das Anzeigen übrig. Das mache ich in einem JLabel, welches in einem JScrollPane liegt. Liegt das wirklich daran? Welche alternativen gibt es hier (eine eigene Klasse von JComponent abgeleitet ist auch nicht besser).
2. Auch wenn ich viele Bilder in einem Vector speichere bekomme ich einen OutOfMemoryError. Benötigt ein Vector den Arbeitsspeicher für seinen Inhalt am Stück oder ist ihm das egal, wo im Speicher sein Inhalt verteilt ist? Falls nicht egal, welche Klasse benötigt den Arbeitsspeicher nicht am Stück? (hoffe ich konnte mich einigermaßen verstänldich ausdrücken
Danke