深入C# 内存管理以及优化的方法详解
2018-10-12 14:07
871 查看
在C# winform应用程序中,用以下代码可以进行一些内存使用的优化
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
/// <summary>
/// 包含各种内存管理、优化的方法
/// </summary>
public class Memory
{
private static readonly Version myVersion = new Version(1, 0);
/// <summary>
/// 将当前进程的内存占用尺寸设置到最小
/// </summary>
/// <returns>0为成功,-1为失败</returns>
public static int SetProcessMemoryToMin()
{
return SetProcessMemoryToMin(Process.GetCurrentProcess().Handle);
}
/// <summary>
/// 将内存占用尺寸设置到最小
/// </summary>
/// <param name="SetProcess">需要设置内存使用范围的程序进程句柄,一般为当前进程, 如:System.Diagnostics.Process.GetCurrentProcess().Handle</param>
/// <returns>0为成功,-1为失败</returns>
public static int SetProcessMemoryToMin(IntPtr SetProcess)
{
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
return SetProcessWorkingSetSize(SetProcess, -1, -1);
}
return -1;
}
[DllImport("kernel32.dll")]
private static extern int SetProcessWorkingSetSize(IntPtr hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
}
您可能感兴趣的文章:
相关文章推荐
- 如何获取C#中方法的执行时间以及其代码注入详解
- 深入分析WPF客户端读取高清图片卡以及缩略图的解决方法详解
- c#方法中调用参数的值传递方式和引用传递方式以及ref与out的区别深入解析
- C# 内存管理、优化的方法
- [深入学习C#]LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询
- 从LiveJournal后台发展看 大型网站系统架构以及性能优化方法
- 深入理解C# 3.0的五项主要改进 (extension方法)
- C# Object.Equals方法深入研究
- c#转换操作符以及重载操作符方法
- ASP.NET中常用的优化性能方法详解(二)
- C# Object.Equals方法深入研究
- 从LiveJournal后台发展看 大型网站系统架构以及性能优化方法
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- ASP.NET中常用的优化性能方法详解(四)
- c# 线程同步: 详解lock,monitor,同步事件和等待句柄以及mutex
- c# 线程同步: 详解lock,monitor,同步事件和等待句柄以及mutex(ZT)
- 深入剖析MY123前生今世以及手工清除方法
- ASP.NET中常用的优化性能方法详解(三)
- 详解加密技术概念、加密方法以及应用(3)