La Web del Programador: Comunidad de Programadores
 
    Pregunta:  59392 - MI APLICACION AUMENTA EL USO DE MEMORIA INFINITAMENTE
Autor:  lyn lyn
hola,estoy haciendo una aplicacion que dado un texto lo reproduce en forma de voz,o sea text to speech,y me sucede que la aplicacion poco a poco va adueñandose de la memoria de la pc,crei q era mi aplicacion q tenia algo mal,asi q cree una nueva q solamente reproduce una cadena fina y pasa igual,estoy usando ahora System.Speech,anteriormente lo hice con sapi.dll y me pasa igual con ambas librerias.
por favor si alguien sabe q puedo hacer para eliminar este problema...

  Respuesta:  Charlos Jim
Lee constantemente la memoria disponible y cada vez que supere un máximo establecido por tí lanza esto:

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) ;
}
}
}