GC.Collect

1、任务管理器显示的是物理内存占用量,不包括页面文件上交换过去的内存
2、任务管理器显示的物理内存占用量,也不完全都是程序自己占用的,有些内核对象占用的空间也被计算在内
3、GC.Collect 方法并不保证回收所有无法访问的内存

可以这么写(这个技巧来自《.NET 框架程序设计》):
// 先强制回收一次内存(内存仍未释放,因为对象还要"复苏",然后执行Finalize方法)
GC.Collect();
// 等待所有对象的Finalize方法调用完成
GC.WaitForPendingFinalizers();
// 再次回收(此时内存空间才会被真正释放)
GC.Collect();

窗口最小化时内存占用量下降,是因为Windows自动把程序此进程不常用的内存交换到页面文件,把内存空间让给活动窗口
这个特性对于所有Windows程序默认都一样(除非通过SetProcessWorkingSetSize API直接指定working set大小),当然也包括.NET程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值