深入C#内存管理以及优化的方法详解
2023-06-13 09:14:54 时间
在C#winform应用程序中,用以下代码可以进行一些内存使用的优化
复制代码代码如下:
usingSystem;
usingSystem.Diagnostics;
usingSystem.Runtime.InteropServices;
///<summary>
///包含各种内存管理、优化的方法
///</summary>
publicclassMemory
{
privatestaticreadonlyVersionmyVersion=newVersion(1,0);
///<summary>
///将当前进程的内存占用尺寸设置到最小
///</summary>
///<returns>0为成功,-1为失败</returns>
publicstaticintSetProcessMemoryToMin()
{
returnSetProcessMemoryToMin(Process.GetCurrentProcess().Handle);
}
///<summary>
///将内存占用尺寸设置到最小
///</summary>
///<paramname="SetProcess">需要设置内存使用范围的程序进程句柄,一般为当前进程,如:System.Diagnostics.Process.GetCurrentProcess().Handle</param>
///<returns>0为成功,-1为失败</returns>
publicstaticintSetProcessMemoryToMin(IntPtrSetProcess)
{
if(Environment.OSVersion.Platform==PlatformID.Win32NT)
{
returnSetProcessWorkingSetSize(SetProcess,-1,-1);
}
return-1;
}
[DllImport("kernel32.dll")]
privatestaticexternintSetProcessWorkingSetSize(IntPtrhProcess,intdwMinimumWorkingSetSize,intdwMaximumWorkingSetSize);
}
相关文章
- c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法
- C#设计模式——(结构型-代理设计模式)
- C#多线程编程_wpf和winform的区别
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- 为了避免内存攻击,美国国家安全局提倡Rust、C#、Go、Java、Ruby 和 Swift,但将 C 和 C++ 置于一边
- C#设计模式之外观模式介绍
- 解析C#中@符号的几种使用方法详解
- 深入c#GDI+简单绘图的具体操作步骤(二)
- C#Struct的内存布局问题解答
- c#调用winrar解压缩文件代码分享
- c#多线程网络聊天程序代码分享(服务器端和客户端)
- c++与c#的时间转换示例分享
- C#字符串内存分配与驻留池学习分享
- c#制作类似qq安装程序一样的单文件程序安装包
- c#网络唤醒功能实现
- C#的WEBBROWSER与JS交互小结
- asp.net中C#实现手动回收内存的方法