调用API函数减少c#内存占用(20+m减至1m以下)
原文: 调用API函数减少c#内存占用(20+m减至1m以下) c#虽然内置垃圾回收机制,但是并不能解决程序占用内存庞大的问题,如果我们仔细观察任务管理器,我们会发现一个程序如果最小化的时候,它所占用的会骤然减小,这时操作系统会把程序用不到的内存暂时放到虚拟内存中,当我们再把程序最大化时,发现内存并没有完全的从虚拟内存调到内存中来,是因为操作系统的内存管理机制只调用目前需要的,那么剩下的,有可能将来调用,有可能根本没用。实现这个机理用到了一个API函数SetProcessWorkingSetSize(),c#中声明如下: [DllImport("kernel32.dll", EntryPoint = "SetProcessWorkingSetSize")] public static extern int SetProcessWorkingSetSize(int hProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);其中的参数内容:hProcess:进程的句柄dwMinimumWorkingSetSize...