常见故事:我使用 C# 开发了一个 ArcMap 扩展。大多数问题都可以通过使用 ArcToolbox 中的各种地理处理工具来解决。通常更可取的是:
- 为每个工具创建一个新的地理处理器对象?
- 重复使用一个地理处理器对象?
推荐 1) 时,是否必须在执行单个工具后释放 com 对象?调用 GC.Collect() 怎么样?
当推荐 2) 时,将其实例化一次并一遍又一遍地重用它是否是一种好方法,例如使用单例模式?
我个人的经验是,使用第二种方法时,我在调试代码时遇到了严重的内存访问冲突。
常见故事:我使用 C# 开发了一个 ArcMap 扩展。大多数问题都可以通过使用 ArcToolbox 中的各种地理处理工具来解决。通常更可取的是:
推荐 1) 时,是否必须在执行单个工具后释放 com 对象?调用 GC.Collect() 怎么样?
当推荐 2) 时,将其实例化一次并一遍又一遍地重用它是否是一种好方法,例如使用单例模式?
我个人的经验是,使用第二种方法时,我在调试代码时遇到了严重的内存访问冲突。