Hi Greg, "Greg Steele" <[EMAIL PROTECTED]> wrote on 05/09/2006 09:05:34 AM:
> Thank you very much. Lesson learned. Removing a swing component from its > parent container is not enough. Dispose must be called too. Sorry to > clutter this mailing list with a Swing issue. I suspected that Swing might not be allowing the canvas to go to GC, but you mentioned that marking the Canvas as STATIC fixed the problem, which to me didn't sync with this being the problem. Was the STATIC/DYNAMIC thing just a red herring? Or are you fairly confident that a static canvas doesn't need dispose called but a dynamic canvas does? > -----Original Message----- > From: Archie Cobbs [mailto:[EMAIL PROTECTED] > Sent: Monday, May 08, 2006 9:07 PM > To: [email protected] > Subject: Re: Memory & Dynamic Canvas > > > Greg Steele wrote: > > I've been trying to track down a major memory leak in my app. After > > creating a very simple test app, I was able to determine that setting > > canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC) was somehow causing > > unused objects to remain on the heap after I removed the canvas from the > > container. The memory leak goes away when I leave the canvas static; I > can > > close and reopen the same SVG doc indefinitely. > > > > Perhaps, I'm not closing the canvas correctly? Currently, I just remove > it > > from its parent container. > > FWIW, my application uses a different JSVGCanvas for each image > displayed and we don't see any leaking memory after loading > several images. > > Are you sure that you're not retaining a reference to some object somewhere > that might indirectly reference the JSVGCanvas? > > FYI here's what we invoke when discarding a JSVGCanvas object: > > canvas.stopProcessing(); > canvas.dispose(); > > Try adding one or both of those when you discard to see if that helps... > just a wild guess. > > -Archie > > __________________________________________________________________________ > Archie Cobbs * CTO, Awarix * http://www.awarix.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
