PROBLEMA CON FALTA DE MEMORIA
Publicado por ifer (43 intervenciones) el 16/03/2005 20:40:53
hola, en una ocasion tenia una ventana constante en una aplicacion, en el cual debia ejecutarse un procedimiento muy largo pero que era llamado en ocasiones excepcionales, ponerlo en el mismo formulario parecia ideal, sin embargo al cargarlo ocurria que el limite
en la memoria virtual no abastecia (pues en VB cuando cargas un formulario, se carga todo el codigo, incluso aquel que nunca lo utilizaste), mi solucion fue llevar este procedimiento a una clase (.cls) la cual instanciaba -> ejecutaba -> y liberaba con MyObjeto = nothing, y estaba todo ok.
En C# me parece ridiculo crear una clase para que ejecute un solo procedimiento, mas aun cuando si al hacer MyObjeto = null, solo lo marca para el recolector, es decir no se libera la memoria de inmediato.
por que no aparece el metodo Dispose() en las clases para liberar la memoria?
La duda es que si colocara dentro de la clase del formulario, ocurriria lo mismo?
Otra duda: en VB, si tenias un modulo con varias funciones, solo era necesario que llames una funcion de estas para que carge en memoria todo el codigo de todas las funciones, y se quedan ahi hasta terminar la aplicacion.
si creo una clase con static public void MyProceso( ) ?
de manera que no sea necesario crear el objeto para llamar a la funcion, cuando y hasta cuando se mantiene el codigo en memoria? se carga el codigo de la funcion o de todo el codigo de la clase?
en la memoria virtual no abastecia (pues en VB cuando cargas un formulario, se carga todo el codigo, incluso aquel que nunca lo utilizaste), mi solucion fue llevar este procedimiento a una clase (.cls) la cual instanciaba -> ejecutaba -> y liberaba con MyObjeto = nothing, y estaba todo ok.
En C# me parece ridiculo crear una clase para que ejecute un solo procedimiento, mas aun cuando si al hacer MyObjeto = null, solo lo marca para el recolector, es decir no se libera la memoria de inmediato.
por que no aparece el metodo Dispose() en las clases para liberar la memoria?
La duda es que si colocara dentro de la clase del formulario, ocurriria lo mismo?
Otra duda: en VB, si tenias un modulo con varias funciones, solo era necesario que llames una funcion de estas para que carge en memoria todo el codigo de todas las funciones, y se quedan ahi hasta terminar la aplicacion.
si creo una clase con static public void MyProceso( ) ?
de manera que no sea necesario crear el objeto para llamar a la funcion, cuando y hasta cuando se mantiene el codigo en memoria? se carga el codigo de la funcion o de todo el codigo de la clase?
Valora esta pregunta


0