C#程序怎么控制内存?
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
不用的数据尽量及时销毁,以收回内存占用。如果调用了COM组件、数据库等,那就及时关闭以避免资源泄漏。
其实.net程序占用内存比较正常,如果确定没有泄漏的地方可以不用理会。
这里有个治标不治本的方法,使用API来减少内存占用:
[DllImport("kernel32",EntryPoint="SetProcessWorkingSetSize", ExactSpelling=true, CharSet=CharSet.Ansi, SetLastError=true)]
public static extern int SetProcessWorkingSetSize(int hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
调用方法:
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle.ToInt32(), - 1, - 1);
其实.net程序占用内存比较正常,如果确定没有泄漏的地方可以不用理会。
这里有个治标不治本的方法,使用API来减少内存占用:
[DllImport("kernel32",EntryPoint="SetProcessWorkingSetSize", ExactSpelling=true, CharSet=CharSet.Ansi, SetLastError=true)]
public static extern int SetProcessWorkingSetSize(int hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);
调用方法:
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle.ToInt32(), - 1, - 1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询