winform中如果每次打开的窗体都是通过new出来的,发现几次过后就会出现提示”内存不足“问题,那么在关闭窗体的时候怎么处理可以及时释放内存?dispose方法可能也无法解决这个问题。我们可以每次在关闭窗体的时候刷新存储器来彻底释放内存。

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms; [DllImport("kernel32.dll")]
private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);
//关闭窗体按钮
private void btnReturn_Click(object sender, EventArgs e)
{
  this.Close();
  FlushMemory();
}
//刷新存储器
private static void FlushMemory()
{
  GC.Collect();
  GC.WaitForPendingFinalizers();
  if (Environment.OSVersion.Platform == PlatformID.Win32NT)
  {
    SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -, -);
  } 
}

最新文章

  1. python头部注释 vim添加头部注释
  2. 第13章 Java常用类
  3. vc不用IDE编译方法
  4. javascript刷新页面的方法
  5. 这样写JS的方式对吗?
  6. oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
  7. C++/C#结构体转化-传string给C++
  8. spring多数据源的配置(转)
  9. Java学习笔记——浅谈数据结构与Java集合框架(第一篇、List)
  10. 蓝桥杯比赛java 练习《立方变自身》
  11. zuul进阶学习(二)
  12. iframe跨域通信实战
  13. shell脚本学习-分支结构
  14. Html5游戏开发-图形与动画(一)
  15. CAN总线芯片SN65HVD230QD介绍
  16. 三部排序|2013年蓝桥杯B组题解析第六题-fishers
  17. VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)
  18. SmartOS技术常见问题
  19. 使用SQLyog连接MySQL数据库
  20. How To Install and Configure Elasticsearch on Ubuntu 14.04

热门文章

  1. Java_集合
  2. 性能测试学习 第七课 --loadrunner中JavaVuser脚本的编写
  3. Ajax实现聊天室
  4. webapi 知识点
  5. 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图
  6. [Swift]LeetCode53. 最大子序和 | Maximum Subarray
  7. [Swift]LeetCode404. 左叶子之和 | Sum of Left Leaves
  8. [Swift]LeetCode807. 保持城市天际线 | Max Increase to Keep City Skyline
  9. git push每次提交都要输入用户名的解决方案
  10. Git漏洞允许任意代码执行(CVE-2018-17456)复现