常见的异常崩溃
System.AccessViolationException: '尝试读取或写入受保护的内存。这通常指示其他内存已损坏。'¶
可能是使用了各种using语句,导致对象内存被提前释放,但是还有一些操作没处理完,我平时习惯用各种using,但是cad的API提供的对象,还是不要随便用using语句去回收,回收太快了。
最好秉持如下原则: 1、CAD原生的对象,让C#自动管理,不要手动using或者dispose,虽然会导致内存中存在大量的垃圾对象,但是好过程序崩溃。 2、如果还是想自己处理一部分内存回收,那就尽量回收当前代码块内的对象,即:如果对象要传进某个方法体, 那就不要对该对象使用using语句回收,让内存回收机制在适当的时候自动回收。