我想为桌面运行的应用程序设置自动清理方法,因为它会抛出错误"内存不足"。
有没有办法做到这一点?
答案 0 :(得分:4)
已有"自动清洁方法&#34 ;; GC。你几乎不需要告诉它该做什么 - 它比大多数人更了解记忆。如果你的代码丢弃了OOM,你需要调查为什么;例如,你是否泄漏了物体? (静态事件处理程序因此而臭名昭着);你在寻求大量的连续内存(巨大的阵列等)吗?你要求一个超过2 GiB的数组(没有启用大数组支持)?你是在运行32位而只是使用大量内存?它实际上不是真正的OOM条件,但真的GDI +处理耗尽(以相同的方式演示)?
要检查的第一件事是你的进程使用多少内存 - 以及操作系统有多少可用内存 - 当它抛出OOM时。如果有足够的空闲内存,那么它实际上并不是OOM(除非您在32位系统上使用超过1 GiB,在这种情况下所有投注都会关闭)。