我试图创建在Java中创建mxgraph的mxgraph和图像。 下面是从mxgraph创建图像的代码。
BufferedImage image = mxCellRenderer.createBufferedImage(graph,
null, 1, Color.WHITE, graphComponent.isAntiAlias(), null,
graphComponent.getCanvas());
// Creates the URL-encoded XML data
mxCodec codec = new mxCodec();
String xml = URLEncoder.encode(mxXmlUtils.getXml(codec.encode(graph.getModel())), "UTF-8");
mxPngEncodeParam param = mxPngEncodeParam.getDefaultEncodeParam(image);
param.setCompressedText(new String[] { "mxGraphModel", xml });
//Saves as a PNG file
outputStream = new FileOutputStream(new File("graph.jpg"));
ImageIO.write(image, "jpg", outputStream);
outputStream.close();
image = null;
我在图中使用分层布局。
但我正在逐渐对更大的图形创建图像的内存不足的错误。
我怎样才能摆脱这种记忆问题(除了增加堆大小)? 是否有(除了增加堆大小)解决该问题的任何其它替代方式是什么?