大多数崩溃与图形设备接口 (GDI) 对象的数量超出应用程序限制有关。 这在将地图服务添加到 MXD 的情况下最为常见,因为其中可能包含数十或数百个 具有多个符号类的图例项。
在 Windows XP 和更高版本中,系统范围的限制为 2
16
或 65,536 个 GDI 对象。 这是由操作系统通过限制打开的应用程序之间的对象计数来管理的;ArcMap 限制为 10,000 个 GDI 对象。 可以通过任务管理器随时查看 ArcMap 正在消耗的 GDI 对象的数量:
-
打开任务管理器。
-
选择
详细信息
选项卡。 右键单击列标题 >
选择列
。
-
选中
GDI 对象
复选框,然后单击
确定
。
-
在任务列表中找到 ArcMap 应用程序。
例如,当打开 MXD、向 MXD 添加图层、在内容列表中的选项卡之间切换或显示图例项时,GDI 对象计数会增加。 如果 MXD 包含 地图服务,或者如果有地图服务 添加到 ArcMap 中,则会在地图服务包含大量图层时进一步增加 GDI 对象计数。
作为预防措施,ArcMap 的每个地图服务 图层最多显示 100 个图例项,但这不会考虑数百个地图服务图层中每个图层均包含不到 100 个图例项的情况 。 即使在添加地图服务 图层时,ArcMap 可能不会崩溃,在 ArcMap 中导航或对 地图中的图层执行分析也 可能导致 超出 10,000 个 GDI 对象限制。
了解更多:
在 ArcMap 中使用地图服务时,请使用以下一种或多种解决方案(如果适用)来解决任何应用程序崩溃问题。
-
将 ArcMap 升级到 10.7.x,以查看其是否可以解决崩溃问题。 Esri 已对 ArcMap 10.7 进行了改进, 终止了所收到的 关于这些类型 崩溃的大量报告 。 如果 ArcMap 仍然崩溃,请继续执行下一个解决方案。
-
在 ArcGIS Pro 中打开文档,因为应用程序没有 与 ArcMap 相同的限制。 在 ArcGIS Pro 中,通过创建空白工程导入地图文档,然后从
插入
选项卡中选择
导入地图
。
-
使用“高级 ArcMap 设置”实用程序将最大图例项计数设置为零。 在 ArcMap 10.5.x 和更高版本中,可以在以下位置找到该实用程序 (AdvancedArcMapSettings.exe):
\Program Files (x86)\ArcGIS\Desktop10.x\Utilities\AdvancedArcMapSettings.exe
请按照以下说明修改允许 ArcMap 绘制的地图服务图层图例项的数量。
-
关闭计算机上运行的所有 ArcMap 实例。
-
打开“高级 ArcMap 设置”实用程序。
-
切换到
TOC/数据
选项卡。
-
在
地图服务器图层
组中,将每个 Map Server 图层中图例项的最大数量值从 100 更改为 0。
-
重新启动 ArcMap。 打开有问题的 MXD,或添加地图服务图层。