Hallo,
Ich bin gerade dabei ein Programm zu entwickeln, mit dem man sich mehrere Bilder auswählen kann, die man sich dann in einer Slideshow ansehen kann. Da jedoch, wenn es sich um viele große Bilder handelt es zu einem out of memory error kommen muss ich das irgendwie lösen, dass immer nur ein Teil der Bilder reingeladen werden. In einem vorigen Posting habe ich gelesen, dass ich das mit einer Queue machen kann. Meine Queue sieht derzeit so aus:
Dann wird zu Beginn mit einem FileChooser die Pictures ausgewählt und in einer ArrayList gespeichert:
mit den File Objekten werden ja die Bilder noch nicht reingeladen, sonder sind ja nur Zeiger auf die Bilder...meiner Meinung nach.
und dann sollten halt immer die ersten 2 oder 3 Bilder in Image Objekte geladen werden in der Queue gespeichert werden und angezeigt werden. Leider sind mir jetzt die weiteren Schritte nicht ganz klar. Kann mir da jemand weitere Tipps geben?
danke im voraus
lg mat
Ich bin gerade dabei ein Programm zu entwickeln, mit dem man sich mehrere Bilder auswählen kann, die man sich dann in einer Slideshow ansehen kann. Da jedoch, wenn es sich um viele große Bilder handelt es zu einem out of memory error kommen muss ich das irgendwie lösen, dass immer nur ein Teil der Bilder reingeladen werden. In einem vorigen Posting habe ich gelesen, dass ich das mit einer Queue machen kann. Meine Queue sieht derzeit so aus:
Code:
import java.util.Vector;
import java.io.*;
public class Queue extends Vector {
/*
** FIFO, first in first out
*/
Queue() {
super();
}
void put(Object o) {
addElement(o);
}
Object get() {
if (isEmpty()) return null;
Object o = firstElement();
removeElement(o);
return o;
}
Object peek() {
if (isEmpty()) return null;
return firstElement();
}
}
Dann wird zu Beginn mit einem FileChooser die Pictures ausgewählt und in einer ArrayList gespeichert:
Code:
File[] selectedFile = chooser.getSelectedFiles();
pictures = new ArrayList();
for(int i = 0; i < selectedFile.length; i++)
{
pictures.add(selectedFile[i]);
}
mit den File Objekten werden ja die Bilder noch nicht reingeladen, sonder sind ja nur Zeiger auf die Bilder...meiner Meinung nach.
und dann sollten halt immer die ersten 2 oder 3 Bilder in Image Objekte geladen werden in der Queue gespeichert werden und angezeigt werden. Leider sind mir jetzt die weiteren Schritte nicht ganz klar. Kann mir da jemand weitere Tipps geben?
danke im voraus
lg mat