C#winfrom程序内存优化? 怎么降低程序的内存使用。如何定时回收程序内存?

C#winfrom程序内存优化? 怎么降低程序的内存使用。如何定时回收程序内存?,第1张

C#程序内存优化,可以使用工具先对winform程序进行监控,找到哪些对象或方法占用内存较多,之后才可有方向性的进行优化。推荐软件CLRProfiler,还比较好用。

至于怎么降低内存使用,要先明确哪些内存对象或方法占用内存高,再进行优化。

至于回收枝段内存,这个你可以不用考虑,只要记得尽量少创建大的局部变量,如果有大的变量,并且使用的位置多的话,就定义成全局的,再不使用时睁漏,对他进行清空就可以。

内存优悉搭烂化还有很多内容,自己做几次就明白了。

在C# winform应用程序中,用以下代码可消销以进行一些内存使用的优化

复制代码 代码如下:

using System

using System.Diagnostics

using System.Runtime.InteropServices

///

/// 包含各种内存管理、优化的方法

///

public class Memory

{

private static readonly Version myVersion = new Version(1, 0)

///

/// 将当前进程的.内存并碰占用尺寸设置到最小

///

/// 0为成功,-1为失败

public static int SetProcessMemoryToMin()

{

return SetProcessMemoryToMin(Process.GetCurrentProcess().Handle)

}

///

/// 将内存占用尺寸设置到最小

///

/// 需要设置拿蔽游内存使用范围的程序进程句柄,一般为当前进程, 如:System.Diagnostics.Process.GetCurrentProcess().Handle

/// 0为成功,-1为失败

public static int SetProcessMemoryToMin(IntPtr SetProcess)

{

if (Environment.OSVersion.Platform == PlatformID.Win32NT)

{

return SetProcessWorkingSetSize(SetProcess, -1, -1)

}

return -1

}

[DllImport("kernel3 2.dll")]

private static extern int SetProcessWorkingSetSize(IntPtr hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12437115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存