Articles of recolección de basura

¿Cuándo debería usar GC.SuppressFinalize ()?

En .NET, ¿bajo qué circunstancias debería usar GC.SuppressFinalize() ? ¿Qué ventaja (s) me da el uso de este método?

Java todavía usa la memoria del sistema después de la desasignación de objetos y la recolección de basura

Estoy ejecutando JVM 1.5.0 (Mac OS X predeterminado) y estoy supervisando mi progtwig Java en el Monitor de actividad. Tengo lo siguiente: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Date; public class MemoryTest { public static void memoryUsage() { System.out.println( Runtime.getRuntime().totalMemory() – Runtime.getRuntime().freeMemory() ); } public static void main( String[] args ) throws […]

C #: ¿las variables de objeto deberían asignarse a nulo?

En C #, ¿es necesario asignar una variable de objeto a null si ha terminado de usarlo, incluso cuando salga de scope de todos modos?

Monitoreo de recolección de basura en C #

Tengo una aplicación WPF que está experimentando muchos problemas de rendimiento. Lo peor de ellos es que a veces la aplicación simplemente se congela por unos segundos antes de volver a funcionar. Actualmente estoy depurando la aplicación para ver a qué se relaciona este congelamiento, y creo que una de las cosas que puede estar […]

Cómo manejar: java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize () ¿se agotó el tiempo de espera después de 10 segundos de error?

Estamos viendo un número de TimeoutExceptions en GcWatcher.finalize, BinderProxy.finalize y PlainSocketImpl.finalize . 90% de ellos suceden en Android 4.3. Estamos recibiendo informes de Crittercism de los usuarios en el campo. El error es una variación de: ” com.android.internal.BinderInternal$GcWatcher.finalize() timed out after 10 seconds ” java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds at android.os.BinderProxy.destroy(Native Method) at […]

Recolección de basura cuando se usan delegates anónimos para el manejo de eventos

ACTUALIZAR He combinado varias respuestas desde aquí en una respuesta “definitiva” sobre una nueva pregunta . Pregunta original En mi código tengo un editor de eventos, que existe durante toda la vida útil de la aplicación (aquí se reduce a lo esencial): public class Publisher { //ValueEventArgs inherits from EventArgs public event EventHandler<ValueEventArgs> EnabledChanged; } […]

¿SqlCommand.Dispose cerrar la conexión?

¿Puedo usar este enfoque de manera eficiente? using(SqlCommand cmd = new SqlCommand(“GetSomething”, new SqlConnection(Config.ConnectionString)) { cmd.Connection.Open(); // set up parameters and CommandType to StoredProcedure etc. etc. cmd.ExecuteNonQuery(); } Mi preocupación es: ¿el método Dispose del SqlCommand (que se llama al salir del bloque que usa) cierra el objeto SqlConnection subyacente o no?

¿Cuál es la diferencia entre el recuento automático de referencias de Objective-C y la recolección de basura?

Con el nuevo conteo automático de referencias (ARC) introducido en Xcode 4.2, ya no es necesario administrar manualmente retener / liberar en Objective-C. Esto parece similar a la recolección de basura, como se hace en Objective-C en la Mac y en otros idiomas. ¿En qué se diferencia ARC de la recolección de basura?

¿Qué ciclo tiene un mejor rendimiento? ¿Por qué?

String s = “”; for(i=0;i<….){ s = some Assignment; } o for(i=0;i<..){ String s = some Assignment; } No necesito usar “s” fuera del ciclo nunca más. La primera opción es quizás mejor ya que una nueva Cadena no se inicializa cada vez. Sin embargo, el segundo resultaría en que el scope de la variable […]

¿Cómo puedo evitar retrasos en la recolección de basura en los juegos de Java? (Mejores prácticas)

Estoy optimizando el rendimiento de los juegos interactivos en Java para la plataforma Android. De vez en cuando hay un tropiezo en el dibujo y la interacción para la recolección de basura. Por lo general, es menos de una décima de segundo, pero a veces puede ser tan grande como 200 ms en dispositivos muy […]