常见故事:我使用C#开发ArcMap扩展。使用ArcToolbox中的各种地理处理工具可以解决大多数问题。通常更合适的是:
当建议使用1)时,是否必须在执行单个工具后释放com对象?什么是关于调用GC.Collect()?
当推荐使用2)时,它是一种很好的方法来实例化它并反复重复使用它,例如使用单例模式吗?
我个人的经验是使用第二种方法,在调试代码时遇到严重的内存访问冲突。
答案 0 :(得分:1)
我可能会选择为每个人创建一个新对象。如果您使用多个线程,则无论如何都需要避免同步。
是的,您需要尽快释放每个com对象,但不要调用GC.Collect()。