? Estoy aprendiendo C#. Por lo que sé, tienes que configurar las cosas correctamente para que el recolector de basura realmente elimine todo como debería ser. Estoy buscando la sabiduría que aprendió durante años de ti, el inteligente.¿Cuáles son las formas de resolver las pérdidas de memoria en C#
Vengo de un fondo C++ y estoy MUY acostumbrado a los olores de código y patrones de desarrollo. Quiero aprender cómo son los olores de código en C#. ¡Dame un consejo!
¿Cuáles son las mejores formas de eliminar cosas?
¿Cómo puede saber cuándo tiene "pérdidas de memoria"?
Editar: Estoy tratando de desarrollar un punzón de lista de "cosas que hacer siempre para la gestión de la memoria"
Gracias, por lo tanto.
Eso "o" es confuso - incluso objetos IDisposable son basura recogida. El GC no sabe nada sobre IDisposable. A menudo, Dispose() llama a SuppressFinalize, pero no está relacionado. –
Buen punto. Entonces la clase contenedora es basura recolectada, pero sus recursos son explícitamente desasignados. Nunca pensé en eso. –
"Es seguro asumir que los tipos administrados siempre son basura recolectada". Esta declaración es tan incorrecta. No se puede recolectar basura si todavía se puede alcanzar, el programador debe tener siempre en cuenta anular sus referencias raíz cuando ya no las necesite. –