深入C# 内存管理以及优化的方法详解
时间:2021-10-24 14:24:03
在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#,内存管理,优化的方法
0
投稿
猜你喜欢
Springboot如何使用mybatis实现拦截SQL分页
2021-08-15 13:16:56
java封装前端查询条件通用版
2023-06-24 12:06:15
C#中Equality和Identity浅析
2022-10-11 10:43:38
Java Maven settings.xml中私有仓库配置详解
2022-02-19 15:36:50
Spring Security 控制授权的方法
2023-08-06 19:21:08
Java泛型类与泛型方法的定义详解
2023-11-25 01:29:22
Java实现俄罗斯方块的源码分享
2023-02-17 04:20:48
java获取中文拼音首字母工具类定义与用法实例
2023-07-14 08:23:55
Java使用ThreadLocal实现当前登录信息的存取功能
2023-06-06 12:00:34
@RequestBody的使用详解
2023-03-08 04:17:28
spring-AOP 及 AOP获取request各项参数操作
2021-11-17 19:43:34
解析SpringBoot中使用LoadTimeWeaving技术实现AOP功能
2023-04-19 00:21:47
基于Java文件输入输出流实现文件上传下载功能
2023-08-10 11:50:32
C#编程实现统计文件夹内文件和隐藏文件的方法示例
2022-09-29 16:09:38
java连接MySQl数据库实例代码
2021-12-18 18:19:36
Spring SpringMVC在启动完成后执行方法源码解析
2023-01-01 12:46:57
Java实现简单台球游戏
2022-06-28 23:55:59
C#监控文件夹变化的方法
2023-03-26 09:39:38
C#使用opencv截取旋转矩形区域图像的实现示例
2023-11-12 22:20:44
Java jar打包工具使用方法步骤解析
2023-07-01 12:26:47