Hi,

That is interesting bug. If you do not mind what is the profiler you
use? (I would like to check for the bug by myself).

Just a suggestion, if you have time maybe you could post in batik bug
bugzilla, so it doesn't lost in the thread.

Regards 
Tonny Kohar


> In a dynamic JSVGCanvas, on the UpdateManager thread, when i remove a 
> SVGOMImageElement (that represents an embedded SVG image, i.e. 
> CompositeGraphicsNode) using
> 
> AbstractParentNode.removeChild(SVGOMElement);
> 
> The removed SVGOMImageElement cannot be garbage collected because it is 
> still referenced by an instance of 
> SVGImageElementBridge.ForwardEventListener (it is listed as imgElement 
> of SVGImageElementBridge... by my profiler software)
> 
> I have tried the same method for SVGOMImageElement loading a embedded 
> PNG image (i.e. RasterImageNode) and the node does get released of all 
> its references and it is garbage collected.
> 
> Also, I have tried it with SVG elements constructed within the app 
> ("rect", "g", etc....) and they also are released completly, and 
> disposed of properly. The only problem I found is with SVGImageElement 
> loading a external SVG images (i.e CompositeGraphicsNode).
> 
> This situation generates a considerable Memory Leak if you want to 
> add-remove dynamically external SVG images into your JSVGCanvas 
> document, since every remove will leave the removed SVGOMImageElement 
> lingering there without being released for disposal, and at some point 
> it saturates the JVM allocated memory and crashes the application.

-- 
Sketsa 
SVG Graphics Editor
http://www.kiyut.com



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to