Hello,

I wrote a small test application which updates the MapContent of a JMapPane 
several times in sequence. Almost always I get the following warning/error 
message:

Jul 11, 2016 8:25:58 AM org.geotools.map.MapContent finalize
SCHWERWIEGEND: Call MapContent dispose() to prevent memory leaks

Why that? I actually call dispose every time before I set the MapContent. 
Probably I am updating the JMapPane in a wrong way? Or maybe there it is 
necessary to do some synchronization?

Thanks
Julian

Here is the small test program to reproduce the warning/error:

public class JMapPaneTest extends JFrame {
 
 public JMapPane mp;
 
 public JMapPaneTest() {
  mp = new JMapPane();
  mp.setRenderer(new StreamingRenderer());  
  mp.setMapContent(new MapContent());
  
  add(mp);
  setSize(400,400);
  setVisible(true);
 }
 
 public void updateMP() {
  GeometryFactory gf = new GeometryFactory();
  SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder();
  typeBuilder.setName("Points");
  typeBuilder.add("the_geom",Point.class);
  
  SimpleFeatureBuilder featureBuilder = new 
SimpleFeatureBuilder(typeBuilder.buildFeatureType());
  Random r = new Random();  
  DefaultFeatureCollection fc = new DefaultFeatureCollection();
  for( int i = 0; i < 1000; i++ ) {
   Point p = gf.createPoint(new Coordinate(r.nextDouble(),r.nextDouble()));
   featureBuilder.set("the_geom", p);
   fc.add( featureBuilder.buildFeature(""+fc.size()));
  }

  MapContent mc = new MapContent();
  Symbolizer sym = new StyleBuilder().createPointSymbolizer();
  mc.addLayer(new FeatureLayer(fc, SLD.wrapSymbolizers(sym)));
  mc.setViewport( new MapViewport(fc.getBounds()));
  mp.getMapContent().dispose();
  mp.setMapContent(mc);
 }
 
 public static void main(String[] args) {
  JMapPaneTest t = new JMapPaneTest();
  for( int i = 0; i < 1000; i++)
   t.updateMP();
  System.exit(1);
 }
}


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to