Hi Sophia, sophia <[EMAIL PROTECTED]> wrote on 07/04/2007 02:14:36 AM:
> 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. It is normal for objects to stay in memory for a while in Java, until Garbage collector collects them. Can if there is a root (global object or object on a thread's stack) that is referencing the DOM objects. Does the increase in memory actually lead to an out of memory error or do you just see heap usage growing? > 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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
