Hallo,
ich habe ein Speicherproblem beim Laden und Löschen von SWT-Images in der Nebula-Gallery.
Ich erstelle eine Gallery und fülle, bzw. lösche die Bilder in ihr mit folgenden Funktionen:
Laut Task-Manager verschwinden die gelöschten Bilder aber nicht mehr aus dem Speicher. Bei zk. 95% belegtem Arbeitsspeicher wird auf der Festplatte ausgelagert und das Programm gerät ins stocken.
Auch den max. Speicherverbrauch mittels -Xmx zu begrenzen hat nichts gebracht. Das Programm nimmt sich einfach alles, was da ist.
Meine Frage: was mache ich falsch?
ich habe ein Speicherproblem beim Laden und Löschen von SWT-Images in der Nebula-Gallery.
Ich erstelle eine Gallery und fülle, bzw. lösche die Bilder in ihr mit folgenden Funktionen:
Java:
public void createGallery(Composite parent)
{
//in einer Schleife
GalleryItem item = new GalleryItem(parent, SWT.BORDER);
Image itemImage = new Image (parent.getDisplay(), path);
item.setImage(itemImage);
}
public void removeGallery(Composite parent)
{
temp = parent.getItems();
for(int k = 0; k < temp.length; k++)
{
temp[k].getImage().dispose();
temp[k].dispose();
}
}
Auch den max. Speicherverbrauch mittels -Xmx zu begrenzen hat nichts gebracht. Das Programm nimmt sich einfach alles, was da ist.
Meine Frage: was mache ich falsch?
Zuletzt bearbeitet: