Hi All,
I have created the SVGDocument with more than 2000 elements, which consists
of rectangles, lines, SVG images and text nodes. It consumes nearly 70000k
in heap memory for creating all the elements. But when I remove all the
elements, it consumes double the memory(160154k). Is it possible to reduce
the memory usage while removing the elements from the document? I am using
the following code to remove elements.
Element root = (Element)_document.getDocumentElement().getFirstChild();
root = (Element)root.getNextSibling().getNextSibling();
while (root.getNextSibling() != null) {
_document.getDocumentElement().removeChild(root.getNextSibling());
}
Also when I remove the elements, I am getting the following errors. It is
happening only while removing huge number of elements. I think there is no
problem in that code. So is there any other think should I take care while
removing elements from the document?
1.
org.w3c.dom.DOMException: <unknown>:
The attribute "fill" represents an invalid CSS value ("white").
Original message:
at
org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:769)
at
org.apache.batik.css.engine.CSSEngine.invalidateProperties(CSSEngine.java:1991)
at
org.apache.batik.css.engine.CSSEngine.propagateChanges(CSSEngine.java:2130)
at
org.apache.batik.css.engine.CSSEngine.invalidateProperties(CSSEngine.java:2031)
at
org.apache.batik.css.engine.CSSEngine$CSSNavigableDocumentHandler.subtreeModified(CSSEngine.java:2411)
at
org.apache.batik.dom.svg.SVGOMDocument$DOMSubtreeModifiedListenerWrapper.handleEvent(SVGOMDocument.java:544)
at
org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.java:350)
at
org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.java:407)
at
org.apache.batik.dom.events.EventSupport.dispatchEvent(EventSupport.java:309)
at org.apache.batik.dom.AbstractNode.dispatchEvent(AbstractNode.java:1010)
at
org.apache.batik.dom.AbstractParentNode.fireDOMSubtreeModifiedEvent(AbstractParentNode.java:401)
.
.
.
2 .
org.w3c.dom.DOMException: <unknown>:
The attribute "stroke" represents an invalid CSS value ("rgb(0,0,0)").
Original message:
at
org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(CSSEngine.java:769)
at
org.apache.batik.css.engine.CSSEngine.invalidateProperties(CSSEngine.java:1991)
at
org.apache.batik.css.engine.CSSEngine.propagateChanges(CSSEngine.java:2130)
at
org.apache.batik.css.engine.CSSEngine.invalidateProperties(CSSEngine.java:2031)
at
org.apache.batik.css.engine.CSSEngine.inlineStyleAttributeUpdated(CSSEngine.java:1894)
at
org.apache.batik.css.engine.CSSEngine.handleAttrModified(CSSEngine.java:2302)
at
org.apache.batik.css.engine.CSSEngine$CSSNavigableDocumentHandler.attrModified(CSSEngine.java:2437)
at
org.apache.batik.dom.svg.SVGOMDocument$DOMAttrModifiedListenerWrapper.handleEvent(SVGOMDocument.java:599)
at
org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.java:350)
at
org.apache.batik.dom.events.EventSupport.fireEventListeners(EventSupport.java:407)
at
org.apache.batik.dom.events.EventSupport.dispatchEvent(EventSupport.java:309)
at org.apache.batik.dom.AbstractNode.dispatchEvent(AbstractNode.java:1010)
at
org.apache.batik.dom.AbstractElement.fireDOMAttrModifiedEvent(AbstractElement.java:645)
at
org.apache.batik.dom.svg.AbstractElement$ExtendedNamedNodeHashMap.removeNamedItemNS(AbstractElement.java:309)
at
org.apache.batik.dom.AbstractElement$NamedNodeHashMap.removeNamedItem(AbstractElement.java:723)
at
org.apache.batik.dom.AbstractElement.removeAttribute(AbstractElement.java:153)
.
.
.
Please anyone give me the solution for these problems.
Thanks,
Sudhakar
--
View this message in context:
http://www.nabble.com/Problem-in-removing-elements-in-the-document-tf2009057.html#a5519428
Sent from the Batik - Users forum at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]