Guten Morgen,
ich habe aktuell gerade ein Problem mit meinem Notes 8.5.2FP2 und dem ULC PlanerApplet (vermutlich läßt sich das aber verallgemeinern auch mit anderen Applets).
Das PlanerApplet ist in eine Maske integriert und wird von außen mit neuen Applet-Parametern (d.h. per JavaScript => document.applets[0].FUNKTIONSAUFRUF(PARAMETER)) versorgt (=> anderere Personen (=Rows), die dargestellt werden sollen).
Dazu habe ich einen Button, der mittels Javascript, das Applet zum Repaint mit Neueinlesung der Daten verhilft ( document.applets[0].REPAINT() ).
Beim 1. Repaint nach dem Aktualisieren läuft der Repaint mit 1000 eingelesenen Daten ca. 1 sek. (unter 8.5.x und 8.x).
Beim 2. Repaint läuft der Repaint unter 8.5.x 3-4 min. und unter 8.x ca. 1-2 sek !!!
Nun habe ich die Stelle isoliert, die für diese deutlichen zeitlichen Unterschied verantwortlich ist.
Im Applet wird mittels
Container.remove(PanelContainer) das Hauptpanel entsorgt (dort sind die ganzen Daten (Slots, Reihen etc.) enthalten).
Mache ich vor dieser Zeile ein
PanelContainer.removeAll(), flutscht das ganze auch wieder unter 8.5.x in 1-2 sek. durch.
Und da stellt sich mir die Frage, wo liegt da der Unterschied, macht ein Container.remove(PanelContainer) was anderes als ein PanelContainer.removeAll() mit anschließendem Container.remove(PanelContainer)
Bleiben da Speicher- / Objektleichen übrig im letzteren Fall oder ist das ein Bug in der IBM JVM ?