How can I diagnose the above exception? In my code, I roughly do the following:
overlay = new GraphicsOverlay()
)poly = new Polygon(mappoints)
where mappoints
is a PointCollection
)graphic = new Graphic() { Geometry = poly, Symbol = new SimpleFillSymbol() { Color = Colors.Red } }
)overlay.Add(graphic)
)Then, when something changes, I will call overlay.Graphics.Clear()
, then repeat steps 2-3.
When I do this, sometimes on the new Graphic(...)
, I will get the exception (but not every time)
I'm using Esri.ArcGISRuntime version 100.0.0.0. Any idea what's going on?
Ok, it appears that the problem was that because the overlay.Graphics.Clear()
was just releasing the objects to the garbage collector that the underlying native objects hadn't yet been disposed.
By forcing the garbage collector to run:
GC.Collect();
GC.WaitForPendingFinalizers();
This caused the objects to be disposed and elimintate the "same key" exception