Private Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal hProcess As IntPtr, ByVal dwMinimumWorkingSetSize As Int32, ByVal dwMaximumWorkingSetSize As Int32) As Int32
使用IntPtr
说明
设置操作系统实际划分给进程使用的内存容量
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hProcess Long,指定一个进程的句柄
lpMinimumWorkingSetSize Long,用于装载最小进程容量的一个变量
lpMaximumWorkingSetSize Long,用于装载最大进程容量的一个变量
适用平台
Windows NT
事实上,使用该函数并不能提高什么性能,也不会真的节省内存。
因为他只是暂时的将应用程序占用的内存移至虚拟内存,一旦,应用程序被激活或者有操作请求时,这些内存又会被重新占用。如果你强制使用该方法来 设置程序占用的内存,那么可能在一定程度上反而会降低系统性能,因为系统需要频繁的进行内存和硬盘间的页面交换。
计时器代码
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)
定时器,不停的进行该操作,虽然换来了小内存的假象,对系统来说确实灾难,可以使用该命令来交换占用的内存到虚拟内存。