|Workbench seems to be full of multi-user issues. [message #715927]
||Mon, 15 August 2011 22:21
| Chris Fairhall
Registered: February 2011
I've been analysing heap dumps to find memory leaks in our Workbench based RAP application. |
There are references to old disposed Display objects hanging around because static fields in Workbench classes and UI Forms classes keep references to resources.
In some cases I've got entire dialog instances hanging around because the Window class adds a FontChange listener to the JFace FontRegistry and will only remove it when the close method is called (and the FontRegistry is being kept alive by a disposeExec in the Display which has an Image on a static field in another UIForm/JFace class). Too bad if the session is expired and the dialog is disposed instead of closed.
The MessageManager in UIForms has a static field called standardError that contains an object that keeps a reference to an Image - keeping the images Display object from being GC'd, which also keeps a reference to any object that has added a disposeExec as the array the contains the runnables is not cleared after they have been run.
Has anyone found any way to combat these issues?
Powered by FUDForum
. Page generated in 0.01500 seconds