0

如何诊断上述异常?在我的代码中,我大致执行以下操作:

  1. 创建叠加层 ( overlay = new GraphicsOverlay())
  2. 创建一组多边形(poly = new Polygon(mappoints)其中mappointsa PointCollection
  3. 使用多边形几何图形和每个多边形的简单填充符号创建图形 ( graphic = new Graphic() { Geometry = poly, Symbol = new SimpleFillSymbol() { Color = Colors.Red } })
  4. 将该图形添加到叠加层。( overlay.Add(graphic))

然后,当有变化时,我会调用overlay.Graphics.Clear(),然后重复步骤 2-3。

当我这样做时,有时在 上new Graphic(...),我会得到异常(但不是每次)

我正在使用 Esri.ArcGISRuntime 版本 100.0.0.0。知道发生了什么吗?

4

2 回答 2

0

好的,问题似乎在于,因为overlay.Graphics.Clear()只是将对象释放到垃圾收集器,底层的本机对象尚未被释放。

通过强制垃圾收集器运行:

    GC.Collect();
    GC.WaitForPendingFinalizers();

这导致对象被处置并消除“相同键”异常

于 2017-01-06T14:39:02.733 回答
0

这是一个已知错误,我们将在下一次更新中修复。强制 GC 暂时可以解决这个问题。

于 2017-02-27T17:58:10.847 回答