I've used Java Memory Profiler. It shows that there are a lot of int[],
byte[] and char[] arrays. If I check the instance owners it seems like they
are part of an DOM. So this DOM object seems to remain in memory.
 

Mark Fortner-3 wrote:
> 
> I don't see any reason for the memory leak.  If you're running Java 6 you
> may want to use jconsole to profile your app and find the leak.  Here are
> some docs on it:
> 
> http://java.sun.com/javase/6/docs/technotes/tools/share/jconsole.html
> 
> http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html
> 
> Hope this helps,
> 
> Mark
> 
> On 7/3/07, sophia <[EMAIL PROTECTED]> wrote:
>>
>>
>> Hi
>>
>> I've got a memory problem using batik to convert swing objects to svg:
>>
>> whenever I call the listed method heap increases (but never releases
>> memory
>> after method has finished):
>>
>> public static final void convert(JComponent swing, OutputStream out) {
>>                 DOMImplementation domImpl =
>> GenericDOMImplementation.getDOMImplementation();
>>
>>
>>                 // Create an instance of org.w3c.dom.Document
>>                 org.w3c.dom.Document document =
>> domImpl.createDocument("http://www.w3.org/2000/svg";, "svg:svg", null);
>>
>>
>>                 // Create an SVG Context to customise
>>                 SVGGeneratorContext ctx =
>> SVGGeneratorContext.createDefault(document);
>>
>>         // Create an instance of the SVG Generator
>>         SVGGraphics2D svgGenerator = new SVGGraphics2D(ctx, false);
>>
>>         swing.setSize(new
>> Dimension(Constants.PRINT_OBJECT_WIDTH,Constants.PRINT_OBJECT_HEIGHT));
>>         svgGenerator.setSVGCanvasSize(new
>> Dimension(Constants.PRINT_OBJECT_WIDTH,Constants.PRINT_OBJECT_HEIGHT));
>>
>>
>>        SwingSVGPrettyPrint.print(swing, svgGenerator);
>>
>>
>>         OutputStreamWriter writer = null;
>>         writer = new OutputStreamWriter(out);
>>         /*
>>                 try {
>>                         writer = new OutputStreamWriter(out,
>> Constants.ENCODING);
>>                 } catch (UnsupportedEncodingException e1) {
>>                         System.out.println("Unsupported encoding");
>>                         writer = new OutputStreamWriter(out);
>>                 }*/
>>
>>         try {
>>                         svgGenerator.stream(writer, false);
>>                         try {
>>                                 writer.flush();
>>                                 out.flush();
>>                                 writer.close();
>>                                 out.close();
>>                                 //System.out.println(out.toString());
>>                         } catch (IOException e) {
>>                                 e.printStackTrace();
>>                         }
>>                 } catch (SVGGraphics2DIOException e) {
>>                         e.printStackTrace();
>>                 } finally {
>>                         svgGenerator.dispose();
>>                         svgGenerator = null;
>>                         document = null;
>>                         domImpl = null;
>>                 }
>>
>>         }
>>
>> svgGenerator.dispose() has no effect. Any ideas?
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Memory-leak--tf4019147.html#a11414837
>> Sent from the Batik - Users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Memory-leak--tf4019147.html#a11425389
Sent from the Batik - Users mailing list archive at Nabble.com.


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

Reply via email to