C# winform在关闭窗体的时候及时释放内存问题
2024-10-04 08:20:28
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, -, -);
}
}
最新文章
- python头部注释 vim添加头部注释
- 第13章 Java常用类
- vc不用IDE编译方法
- javascript刷新页面的方法
- 这样写JS的方式对吗?
- oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
- C++/C#结构体转化-传string给C++
- spring多数据源的配置(转)
- Java学习笔记——浅谈数据结构与Java集合框架(第一篇、List)
- 蓝桥杯比赛java 练习《立方变自身》
- zuul进阶学习(二)
- iframe跨域通信实战
- shell脚本学习-分支结构
- Html5游戏开发-图形与动画(一)
- CAN总线芯片SN65HVD230QD介绍
- 三部排序|2013年蓝桥杯B组题解析第六题-fishers
- VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)
- SmartOS技术常见问题
- 使用SQLyog连接MySQL数据库
- How To Install and Configure Elasticsearch on Ubuntu 14.04
热门文章
- Java_集合
- 性能测试学习 第七课 --loadrunner中JavaVuser脚本的编写
- Ajax实现聊天室
- webapi 知识点
- 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图
- [Swift]LeetCode53. 最大子序和 | Maximum Subarray
- [Swift]LeetCode404. 左叶子之和 | Sum of Left Leaves
- [Swift]LeetCode807. 保持城市天际线 | Max Increase to Keep City Skyline
- git push每次提交都要输入用户名的解决方案
- Git漏洞允许任意代码执行(CVE-2018-17456)复现