Estoy usando el siguiente código para liberar memoria en algunos programas en ejecución porque mi propio programa necesita recursos de memoria grandes para funcionar más rápido.¿Cuáles son los efectos secundarios de usar EmptyWorkingSet?
[DllImport("psapi.dll")]
public static extern bool EmptyWorkingSet(IntPtr hProcess);
public FreeMem(string programName){
EmptyWorkingSet(Process.GetCurrentProcess().Handle);
foreach(Process process in Process.GetProcesses(programName))
{
try
{
EmptyWorkingSet(process.Handle);
}
catch (Exception)
{
...
}
}
}
Parece estar funcionando bien, yo era capaz de reducir el uso de memoria de algunos programas como el explorador de 100.000 Kb hasta 2.000 Kb. Eso es bastante bueno, pero ¿hay algún efecto secundario al hacer esto? Algunos software comerciales también están usando esto como el administrador de Yamicsoft Vista/Xp y Firefox Optimizer por nombrar algunos, así que estoy pensando si esto no tiene efectos secundarios negativos o ¿hay alguno?
tal vez tengas razón. Trataré de encontrar una manera de optimizar mi propio programa en lugar de optimizar los otros programas y eliminar EmptyWorkingSet si es peligroso. – murasaki5