Hi Thomas.
My implementation of animation is (slowly) progressing. I noticed just
now a bug in my program where some elements were forgetting their
animated attribute values. I see that dom.svg.AbstractElement is using
a SoftDoublyIndexedTable to store the (namespace, localName,
LiveAttributeValue) triples.
When you call SVGOMElement.getAnimatedLengthAttribute it creates a new
SVGOMAnimatedLength and stores it in the table if there wasn't one there
already. It doesn't keep a reference to this value around, though, and
so I guess the garbage collector cleans it up later on because the
SoftDoublyIndexedTable doesn't keep a hard reference to it.
I suggest changing AbstractElement to use DoublyIndexedTable. I don't
see any obvious memory leak issues there, but maybe there are some that
prompted the use of the soft references in the first place.
Cameron
--
Cameron McCormack
| Web: http://mcc.id.au/
| ICQ: 26955922
|