<!DOCTYPE html><html><head>
<style type="text/css">body { font-family:'Courier New'; font-size:13px}</style>
</head>
<body><div>De hecho, no estoy familiarizado con las interioridades del administrador de memoria predeterminado de FPC por lo que me llama la atención como en los dos primeros logs al compararlos, el valor de TotalFree después del primer SetLength en lugar de disminuir aumenta, TotalAllocated me parece que consistentemente aumenta después del primer SetLength. Lo que he notado en tu test, es que la memoria no regresa al sistema sino hasta que termina el programa, y esto es lógico pues las variables que mantienen la memoria reservada son locales al procedimiento principal. Esto es fácilmente comprobable. Simplemente activa la funcionalidad Heaptrc en la opciones del proyecto y comprobaras que al final el programa no presenta bloques sin liberar.</div><div><br></div><div>Yo creo que una mejor manera de comprobar si la memoria es o no liberada de los arrays dinámicos es poner todo el código del procedimiento principal en una subrutina, algo así como:</div><div><br></div><div><pre></div><div>begin<br> WriteLn('Inicial');</div><div> mostar_heap();<br>
HacerTests;<br>
WriteLn('ElFinal');<br>
mostar_heap();<br>end.</div><div></pre></div><div><br></div><div>HacerTests es exactamente lo mismo que hacia antes el procedimiento principal.</div><div><br></div><div>Acá, TotalAllocated antes y después muestra lo mismo. Yo creo (y nunca mejor dicho :)) que el administrador de memoria de FPC mantiene estructuras o bloques reservados que luego son liberados en algún tipo de cache, de manera que no me parece extraño que la memoria que aparentemente es reservada y luego liberada no se corresponda exactamente con los valores antes y después.</div><div><br></div><div>Jesus Reyes A. </div><div><br></div><div><br></div><div><br></div><div>En Mon, 25 Jul 2016 20:45:17 -0500, Rafael Bidegain <r.bidegain@gmail.com> escribió:<br></div><br><blockquote style="margin: 0 0 0.80ex; border-left: #0000FF 2px solid; padding-left: 1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><span class="gmail-"><div><br></div></span><div>Podrías por favor compartir tu programa de prueba?.</div></div></blockquote><div>si.</div><div>es este:</div><div><br></div><div><div>program ad1;</div><div>....</div><div>end.</div></div></div></div></div></blockquote></body></html>