[Python-es] liberacion de memoria

Ramiro rmrsndvl en yahoo.com.ar
Lun Nov 1 04:19:08 CET 2010


>--- El dom 31-oct-10, Chema Cortes <pych3m4 en gmail.com> escribió:
>El 28 de octubre de 2010 20:28, Ramiro <rmrsndvl en yahoo.com.ar> escribió:>
>> Buenas
>>
>>
>
>
>>
 Estoy con un programa hecho en GTK que va presentando listas de datos 
(clientes, >facturas, movimientos bancarios, etc) a pedido del usuario. 
Estas listas son >gtk.TreeViews y van encajadas en un gtk.Notebook.
>>
>> Cuando el usuario ya no quiere alguna lista la cierra (lo que hago es hacer un >notebook.remove_page(ventana_hija)).
>>
>>
 La cosa es que veo que abriendo varias listas para que consuma memoria y
 luego >cerrando todo (solo quedando la ventana principal y el control de
 pestañas, el >gtk.notebook), la memoria nunca baja.
>
>Con el remove_page tan sólo estás lanzando un evento sobre que vas a
>liberar ésa pestaña. Realmente, ¿estás liberando la pestaña?¿mantienes
>alguna referencia a 'ventana_hija' en algún sitio? Sin ver más código
>es imposible saber más.
>
>> ¿Ustedes qué usan para verificar la memoria, la existencia de objetos o cosas así?
>
>Para problemas de memoria lo más usado, en general, es el "valgrind";
>pero te recomiendo empezar con el módulo 'gc' (garbage collection). Si
>gc detecta que un objeto persiste más allá de lo que se esperaría de
>él, entonces es que tienes un problema con él.
>

Hola, gracias por la recomendación, voy a ver eso del valgrind. Al gc la verdad que no le saco ninguna utilidad, no lo debo entender todavía, seguiré probando.

saludos




      
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20101031/4f93c5df/attachment.html>


Más información sobre la lista de distribución Python-es