Tengo la situación en la que el ciclo de carga y cierre de un documento consume unos pocos Mb de RAM. Esta memoria no se ha filtrado como algo lo posee y lo limpia cuando se cierra la aplicación (Visual Leak Detector y la herramienta Mac Leaks muestran un acuerdo al respecto). Sin embargo, me gustaría saber a dónde va. Supongo que es una especie de caché en la aplicación que se llena cuando el documento se carga pero no se libera cuando se cierra el documento. ¿Qué métodos o herramientas podría usar para averiguar dónde se están realizando estas asignaciones?Cómo saber dónde va mi memoria
ACTUALIZACIÓN:
siguiente post de Hans he añadido un bucle para la aplicación a los documentos en varias ocasiones se abren y cierran. Descubrí que hubo un salto inicial en el uso de la memoria ('Bytes privados' según lo informado por Process Explorer) después de cargar los primeros dos documentos, pero luego ya no aumentaba cada vez. Así que esto sugiere que no hay nuevas asignaciones, y es probable que el aumento aparente se deba principalmente a un artefacto de paginación.
También he echado un vistazo más de cerca a los instrumentos en el mac, que fue útil para ver dónde estaban ocurriendo las asignaciones: crear un instrumento compuesto por las herramientas de asignaciones y fugas y luego agregar una instantánea de montón al inicio y al final de un ciclo y en la lista de Heapshots mostrará todos los deltas de asignación relativos a la última instantánea. Esto sugiere que en Mac las asignaciones de memoria fueron en aumento, pero se debió a cachés internos como el dibujo de CoreGraphics, sobre el cual tenemos poco control.
Si abre/cierra abrir/cerrar abrir/cerrar, come un par de Mb más cada vez que abre/cierra o simplemente alcanza un tamaño fijo después del primer intento. Además, ¿cómo estás midiendo la memoria utilizada? –