Bug 194549 Memory leak in chart device renderers
After memory analysis for Chart code, it indicates java.awt.Font objects are not garbage collected. Investigating the renderer code, Graphics2D objects in IDisplayServer and IDeviceRenderer are not disposed after chart rendering finished. Need to invoke IDeviceRenderer.dispose() after ChartReportItemPresentationImpl being finished, and dispose all required resources in that method, including IDisplayServer and anything else.
chart/org.eclipse.birt.chart.device.svg/src/org/eclipse/birt/chart/device/svg/SVGRendererImpl.java
logger.log( pex );
			}
		}
		else
			_ids = new SVGDisplayServer( );
		ivRenderer = new SVGInteractiveRenderer( getULocale( ) );
	}
	/**
	 * The SVG version is "-W3CDTD SVG 1.0EN".
	 */
	static private final String SVG_VERSION = "-W3CDTD SVG 1.0EN"; 
	/**
	 * The SVG DTD is
	 * "http:www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd".
	 */
	static private final String SVG_DTD = "http:www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"; 
	/**
	 * The SVG namespace http:www.w3.org/2000/svg
	 */
	static private final String XMLNS = "http:www.w3.org/2000/svg"; 
	/**
	 * The xmlns:xlink is "http:www.w3.org/1999/xlink".
	 */
	static private final String XMLNSXINK = "http:www.w3.org/1999/xlink"; 
	/**
	 * 
	 */
	protected Object oOutputIdentifier = null;
	/**
	 * Document object that represents the SVG