Este consumo aumenta por la caché que mantiene Fox para algunas sentencias SELECTs, los cursores en la memoria, la carga de imágenes, etc.
Lo curioso, es que si uno minimiza la aplicación, el consumo de memoria disminuye, porque Windows maneja esta caché y libera la memoria. Esto también es válido para otras aplicaciones, no solo para VFP.
Aquí Bernard nos provee la siguiente función que reduce el consumo de memoria (sin la necesidad de minimizar la aplicación) y la podemos ejecutar desde nuestra aplicación VFP en cualquier momento.
*********************************************** * Function....: ReduceMemory() * Author......: Bernard Bout * Date........: 05/12/2007 3:03:15 PM * Returns.....: * Parameters..: * Notes.......: reduces memory usage for vfp *********************************************** FUNCTION ReduceMemory() DECLARE INTEGER SetProcessWorkingSetSize ; IN kernel32 AS SetProcessWorkingSetSize ; INTEGER hProcess , ; INTEGER dwMinimumWorkingSetSize , ; INTEGER dwMaximumWorkingSetSize DECLARE INTEGER GetCurrentProcess ; IN kernel32 AS GetCurrentProcess nProc = GetCurrentProcess() bb = SetProcessWorkingSetSize(nProc,-1,-1) ENDFUNC ***********************************************Fuente: http://www.foxite.com/faq/default.aspx?id=55
A 2019 me acabas de salvar... Esto si que libera memoria no el minimizado.
ResponderBorrarMuchísimas gracias.
Un saludo.