深入C# 内存管理以及优化的方法详解
发布时间:2021-10-24 14:24:03
标签:C#,内存管理,优化的方法
在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);
}
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 本文实例为大家分享了java读取cvs文件并导入数据库的具体代码,供大家参考,具体内容如下首先获取文件夹下面的所有类型相同的excel,可以
- 之前写过一篇获取properties文件里面的值:Springboot 指定获取自己写的配置properties文件的值www.jb51.n
- 在阅读本文之前,大家可先参阅《简单理解Spring之IOC和AOP及代码示例》一文,了解下Spring中IOC和AOP的相关内容。下面进入正
- 官方文档 8.0Spring为不同缓存做了一层抽象,这里通过阅读文档以及源码会对使用以及原理做一些学习笔记。1.简介
- 1. 概述为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。2. 模式中的角色2.1 外
- 使用范围synchronized使用上用于同步方法或者同步代码块在锁实现上是基于对象去实现使用中用于对static修饰的便是class类锁使
- 平时用到的库仓库名地址备注mavenCentralhttps://repo1.maven.org/maven2/
- 一、前言最近接到一个任务,需要爬取五级行政区划的所有数据(大概71万条数据在),需要爬取的网站:行政区划 - 行政区划代码查询 发
- 不同的加锁顺序我们来看一个不同加锁顺序的例子:public class DiffLockOrder {private int amount;
- 单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此
- MapTask工作机制如图所示。 (1)Read阶段:MapTask通过用户编写的RecordReader,从输入InputSpl
- 1. Mybatis的@param注解自定义对象也用@param注解注:使用@param注解,mapper.xml 不加parameterT
- java 中HttpClient传输xml字符串实例详解介绍:我现在有一个对象page,需要将page对象转换为xml格式并以binary方
- Java Function的使用一、方法介绍表示接受一个参数并产生结果的函数。参数类型 T - 函数输入的类型R - 函数的结果类型方法介绍
- java static块和构造函数的实例详解构造函数不写时,若该类继续了某个类则会默认集成父类的构造函数。 构造函数在实例化类时执行内部,O
- 什么是Spring BatchSpring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。Sprin
- 在看别人的关于CopyOnWriteArrayList 这个类的时候,看到有人提出了关于:数组拷贝的方法Arrays.copyOf() 的问
- 该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、T
- 今天下了个新浪微博的API研究研究,目前实现了发布微博功能,包括带图片的微博。为了安全,新浪微博的API中并没有提供用微博帐号密码登录的功能
- 循环队列结构队列特点队列为一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,