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/