Hi Shamjith, Shamjith K V <[EMAIL PROTECTED]> wrote on 09/26/2006 07:31:48 AM:
> I have a doubt in the garbage collection in JSVGCanvas. > My doubt is if I reuse a JSVGCanvas for rendering a different svg > file, whether the memory used for the previous svg will be > released?. For the Batik 1.6 release I am fairly confident that all memory associated with the previous svg will be released (we did a bunch of very aggressive memory leak tests to track down a few leaks). With the current SVN code I am less sure that _all_ memory will be released (I have seen one or two instances where it looked like we might have a _small_ leak), however certainly the vast majority of the memory is released. > What I meant is: > If I have a first case like, > svgCanvas.setURI(new java.io.File("test1.svg").toURL().toString()); > ..and in a later time I use the same JSVGCanvas object > svgCanvas.setURI(new java.io.File("test2.svg").toURL().toString()); > Whether the memory allocated for the previous canvas will be released?. > > What I found was that, after setting the URI to a new one, the memory used by > the particular process is increasing(even if the svg file content is same the > difference is only in file name). Like many other things in Java you need to have a fairly deep understanding of how Java does things to make tests like the above. In particular Java use Garbage collection and more specifically a generational Garbage collector. This means that often the JVM will not reclaim memory until there is memory pressure. I typically do a quick check of memory leaks by bringing Batik - squiggle up with a document and showing the memory monitor (Tools->Memory Monitor) then repeatedly reloading the document. The memory monitor will sawtooth up and down. The thing you are looking for is if after a little while the 'low water' mark settles. ----- To unsubscribe send a message to: [EMAIL PROTECTED] -or- visit http://groups.yahoo.com/group/svg-developers and click "edit my membership" ---- Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/svg-developers/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/svg-developers/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/