深入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
  • asp之家 软件编程 m.aspxhome.com