[DllImport("kernel32.dll")]
static extern bool SetProcessWorkingSetSize(IntPtr hProcess, UIntPtr
dwMinimumWorkingSetSize, UIntPtr dwMaximumWorkingSetSize);
None.
None.
Might be better written using int instead of UInt as -1 is a valid value for dwMaximumWorkingSetSize and dwMinimumWorkingSetSize. See Sample Code.
//sample is probably a bad idea, but it will "trim down" the memory footprint of a .Net App (or at lease the value reflected in Task Manager).
public class MemoryManagement{
[DllImport("kernel32.dll")]
public static extern bool SetProcessWorkingSetSize( IntPtr proc, int min, int max );
public void FlushMemory() {
GC.Collect() ;
GC.WaitForPendingFinalizers() ;
if(Environment.OSVersion.Platform == PlatformID.Win32NT) {
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1) ;
}
}
}
Do you know one? Please contribute it!