2011年12月24日
摘要: 首先,先说一点当使用非托管资源时,占用的托管内存很小,非托管资源占用了大量内存。如果一个类要包装可能很大的本地资源,就应该提示垃圾回收器实际需要消耗多少内存。垃圾回收器内部会监视内存压力,压力变大时,就强制执行垃圾回收。命名空间System.Runtime.InteropServices 提供了 HandleCollection类此类作用:因为当CLR使用非托管资源时产生的托管对象内存非常小 应为GC回收只会根据托管对象的内存达到一定限度才会执行垃圾回收。比如:你调用有10个非托管资源,在进程中每个非托管资源占用1M非托管内存,产生1K托管内存, GC回收第0代的阀值是256K,写程序的兄弟操 阅读全文
posted @ 2011-12-24 19:10 Skolley 阅读(563) 评论(0) 推荐(0)